This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
当为 TMS570LC43创建 HALCoGen 项目(也许还有其他项目、我没有检查)时、有两个选项
如果用户在没有 FreeRTOS 的情况下创建项目、则可以执行此操作
如果用户使用 FreeRTOS 创建项目、则可以进行此操作
选择 MPU 区1-4。 为什么在使用 FreeRTOS 时无法对 MPU 进行全局分解?
使用 FreeRTOS 生成代码、但不选中 Enable MPU、这将导致不会初始化 MPU 的代码:
在 HL_SYS_MPU.asm 中、启用 MPU 的代码部分被删除。 此代码丢失:
;启用 MPU MRC P15、#0、r0、c1、c0、 0 ORR r0、r0、#1 DSB MCR P15、#0、r0、c1、c0、 0 ISB
如果 MPU 被禁用(或未被启用)、为什么有一个强制使能 MPU 区的配置?
在 Hercules 解码应用报告表1中读取 FreeRTOS 时、会有人认为必须启用这些区域和 MPU。 但是、没有 MPU、它就不应该工作、这似乎是没有理由的。
还请您澄清一下吗?
您好!
对于 FreeRTOS 示例、允许在 HALCoGen 中配置 MPU 设置。 您必须手动修改代码。
"对于 FreeRTOS 示例、允许在 HALCoGen 中配置 MPU 设置"。 您能不能澄清这意味着什么? 在 HALCoGen 中、无法完全禁用所有 MPU 设置、如两个屏幕截图所示。
在 FreeRTOS 模式下、MPU 不可配置。 如果要更改 MPU 设置、则需要手动更改 c 代码。
请参阅此应用手册(以及包含的代码示例 CCS 项目):
www.ti.com/.../spna177.pdf
本文档中包含 CCS 工程的链接。