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:在128KB 区域时 NMPU 不能正常工作

Guru**** 2393725 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1362082/tms570lc4357-nmpu-not-working-correctly-with-128kb-region

器件型号:TMS570LC4357

您好、专家!

我正在尝试了解如何配置 EMAC 模块的 NMPU (安全手册中的诊断 ETH17和 ETH18)。

我已经实现了配置和配置测试。 NMPU 的测试是使用内部诊断模式完成的。

当我实施一个大小为64KB 的区域时、一切都正常工作。 当我尝试配置一个128KB 的区域时、问题开始了。

我尝试过以下配置:

区域基地址:0x0802 0000
区大小:128 KB

地址0x0802 0000是区域大小的倍数、因此区域应从0x0802 0000开始、到0x0803 FFFF 结束。

如果我使用内部诊断模式测试配置、我会看到以下

写入0x0800 0000应产生错误
写入0x0801 FFFF 应产生错误
写入0x0804 0000时应该产生错误
实际发生的是不会生成错误。

我已经多次检查此代码、无法找到相同代码在64k 区域有效、但在128k 区域无效的任何原因。

您能否检查大于64KB 的区域是否损坏 NMPU 逻辑、或者内部诊断模式是否损坏。

谢谢、此致、
最大值

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

    您好、Max:

    区域基地址:0x0802 0000
    区大小:128 KB

    地址0x0802 0000是区域大小的倍数、因此区域应从0x0802 0000开始、到0x0803 FFFF 结束。

    [/报价]

    您的配置对我来说看起来是正确的。

    Unknown 说:
    我已经检查过这几次了,无法找到为什么同一个代码可以用于64k 区域,而不能用于128k 区域的原因。

    NMPU 也应适用于128KB 配置。

    我的建议是确保各地区不会有任何重叠:

    当存储区出现重叠时、重叠部分的访问将由编号最大的存储区属性决定。

    此外、如果可能、还提供一个最简单的项目、在结束时有问题可供调试。

    --
    谢谢。此致、
    Jagadish。

    [/quote]