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.

[参考译文] HALCOGEN:使用 FreeRTOS 时、在 TMS570LC43上的 HALCoGen 中无法禁用 MPU

Guru**** 2049300 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/878923/halcogen-disabling-mpu-not-possible-in-halcogen-on-tms570lc43-when-using-freertos

器件型号:HALCOGEN

当为 TMS570LC43创建 HALCoGen 项目(也许还有其他项目、我没有检查)时、有两个选项

  • 没有 FreeRTOS
  • 使用 FreeRTOS

如果用户在没有 FreeRTOS 的情况下创建项目、则可以执行此操作

  • 取消选中 "Enable MPU (启用 MPU)"和
  • 禁用所有 MPU 区域(请参见第一个屏幕截图)。

如果用户使用 FreeRTOS 创建项目、则可以进行此操作

  • 来取消选中 启用 MPU
  • 但无法禁用所有 MPU 区域(请参阅第二个屏幕截图)。

选择 MPU 区1-4。 为什么在使用 FreeRTOS 时无法对 MPU 进行全局分解?

抓图1:如果没有 FreeRTOS、则可以完全禁用 MPU 抓图2:使用 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 设置、如两个屏幕截图所示。

    • 是否可以在没有 MPU 的 TMS570LC43xx 上运行 FreeRTOS (这意味着从 HALCoGen 生成的源中手动删除 PMU 代码)?
    • 是否可以让 FreeRTOS 在没有 MPU 的 TMS570LC43xx 上运行(这意味着从 HALCoGen 生成的源中手动删除 PMU 代码)、但启用高速缓存?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 FreeRTOS 模式下、MPU 不可配置。 如果要更改 MPU 设置、则需要手动更改 c 代码。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅此应用手册(以及包含的代码示例 CCS 项目):

    www.ti.com/.../spna177.pdf

    本文档中包含 CCS 工程的链接。