[component][mpu] [update] memory protect unit abstract layer.#5379
[component][mpu] [update] memory protect unit abstract layer.#5379liukangcc wants to merge 2 commits into
Conversation
|
|
||
| struct rt_mal | ||
| { | ||
| rt_uint16_t index; |
| @@ -0,0 +1,33 @@ | |||
| menu "MPU abstraction layer" | |||
There was a problem hiding this comment.
Is mal here? Please discuss.
There was a problem hiding this comment.
mal这个名字直接放置于components下都会显得奇怪。或者放入到components/drivers目录下,或者定义一些公共的API接口,由不同的硬件架构进行实现,从而放到libcpu中。
| EXPORT HardFault_Handler | ||
| EXPORT MemManage_Handler | ||
| HardFault_Handler PROC | ||
| MemManage_Handler |
There was a problem hiding this comment.
这个Handler在这里去掉了 ,如果不开mal是不是就报错了?
|
从名字上来说,直接使用mpu应该会更直接 |
| @@ -0,0 +1,33 @@ | |||
| menu "MPU abstraction layer" | |||
There was a problem hiding this comment.
mal这个名字直接放置于components下都会显得奇怪。或者放入到components/drivers目录下,或者定义一些公共的API接口,由不同的硬件架构进行实现,从而放到libcpu中。
| default 2 | ||
|
|
||
| config RT_MPU_REGIONS_NUMBER | ||
| int "Set mpu regions number" |
There was a problem hiding this comment.
这个MPU是一份ARM only的实现吗?如果是这样,那么放入到components下是非常不适合的
|
|
||
| static rt_err_t _mpu_get_info(rt_thread_t thread, rt_uint32_t type, void *arg) | ||
| { | ||
| return RT_EOK; |
There was a problem hiding this comment.
所有的risc-v实现都是空的?…… Please tag this PR as draft.
| STR r1, [r0] ; update from thread stack pointer | ||
|
|
||
| switch_to_thread | ||
| IMPORT rt_mpu_table_switch |
There was a problem hiding this comment.
汇编.s .asm .S .a后缀也应该纳入ci格式检查
There was a problem hiding this comment.
不过上次FreeRTOS那边曾经提到过一个问题,貌似有些编译器如果改成空格会出问题,所以需要format之后再实际编译测试一下才可以。
拉取/合并请求描述:(PR description)
[
描述
MAL (mpu abstract layer) 是 rt-thread 官方基于 Memory Protect Unit (MPU) 做的一款用于内存保护的抽象层组件。
作用
内存保护单元(MPU),提供了内存区域保护功能。通过 MPU,可以使程序更具健壮性,提高嵌入式系统的稳定性,使系统更加安全。通过使用 MPU 组件能使 RT-Thread 操作系统在进军军工、医疗、汽车等行业更具竞争力。MAL 组件具有以下特性:
测试
已在 ART-Pi 上测试完成
]
以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。
The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up