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.

[参考译文] TMS570LC4357:如何禁用MPU功能?

Guru**** 2463330 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/1097375/tms570lc4357-how-to-disable-mpu-function

部件号:TMS570LC4357
主题中讨论的其他部件:HALCOGEN

大家好:

   如何禁用MPU功能?  例如将0写入某些寄存器?

祝你一切顺利

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

    还有一个问题,MPU寄存器的基本地址是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    MPU406.4843万 MPU的基本地址是什么?

    MPU寄存器未映射内存。 它们通过 MRC和MRC说明进行读写,例如:

    MRC P15,0,R1,C1,c0, 0;读取CP15寄存器1
    Orr R1,R1,#0x1
    DSB
    MCR P15,0,R1,C1,c0, 0;启用MPU

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

    以下代码是禁用MPU的示例:
    MRC P15,0,R1,C1,c0, 0;读取CP15寄存器1
    BIC R1,R1,#0x1
    DSB
    MCR P15,0,R1,C1,c0, 0;禁用MPU
    ISB.

    HALCoGen生成代码以配置MPU,启用MPU或禁用MPU:

    _mpuInit_();

    _mpuEnable_();

    _mpuDisable_();

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

    所以我不能通过C代码访问MPU寄存器?

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

    也许我弄乱了什么。 MPU和NMPU之间是否存在差异? 在我的项目中,似乎是使用MPU而不是NMPU

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

    您可以使用c代码调用ARM指令。

    ASM (" MRC P15,0,R1,C1,c0, 0英寸);   //读取CP15寄存器1
    ASM (" BIC R1,R1,#0x1");
    ASM (" DSB");
    ASM (" MCR P15,0,R1,C1,c0, 0); //禁用MPU
    ASM (" ISB");

    正如我所说,您可以调用“_mpuDisable_();”来禁用MPU。