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.

[参考译文] AM2431:更改操作系统后、DDR 存储器无法正确读取/写入。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1419252/am2431-after-changing-the-os-the-ddr-memory-fails-to-read-write-correctly

器件型号:AM2431

工具与软件:

我将 SDK8.3.0与 自定义 OS ThreadX 配合使用。

我们在 SDK 和操作系统中都进行了许多更改。

当我使用 SDK 中包含的 FreeRTOS 时、DDR 读取和写入函数 可以正常使用。

但是、当我将操作系统更改为 ThreadX 时、DDR 的读取和写入变得异常。

我的测试结果如下

情形1.向 DDR 地址0x8000000写入/从 DDR 地址读取32字节  正常

情形2.向 DDR  地址0x80000010  NG 写入/读取32字节

 写入:地址0x80000010和0x80000020之间仅写入16字节数据

 读取:程序在 Func Hwip_data_abort_handler()函数中崩溃

当我将 DDR MPU 设置.isSharable 从0更改为1时 、 第2种情况下的测试工作正常。

{
.baseAddr = 0x80000000u、
.size = MpuP_RegionSize_2G、
.attrs ={
.isEnable = 1、
.isCacheable = 1、
.可 缓冲性= 1、
.isSharable = 1、
.isExecuteNever = 0、
.tex = 1、
.accessPerm = MpuP_AP_all_rw、
.subregionDisableMask = 0x0u
}、

您能给我一些建议、说明为什么在我更改操作系统时 DDR 工作不正常。

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

    您好、乔、

    感谢您的提问。

    [quote userid="523085" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1419252/am2431-after-changing-the-os-the-ddr-memory-fails-to-read-write-correctly 您能给我们一些建议吗?关于我更改操作系统时 DDR 工作不正常的原因。

    请留出一些时间来检查上述详细信息并恢复。

    此致、

    Tushar

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

    您好、乔、

    Unknown 说:
    SDK 和操作系统都有很多变化。

    您是否进行了任何与 DDR 配置相关的更改?

    当我将 DDR MPU 设置.isSharable 从0更改为1时 、 案例2的测试工作正常。

    您能否共享示例项目的*。map 文件?

    此致、

    Tushar

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

    Tushar、您好

    您是否进行了任何与 DDR 配置相关的更改?

    >我认为是的。 DDR 配置文件如下所示。

    e2e.ti.com/.../cpu_5F00_ti_5F00_board_5F00_ddrReginit.h

    您能否共享示例项目的*。map 文件?

    >地图文件似乎太大而无法上传。 您能提供一个 URL 来上传吗?

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

    您好、乔、

    您是否也不能将其上传为 zip 格式?

    *。map 文件的大小是多少?

    此致、

    Tushar

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

    映射文件如下所示

    e2e.ti.com/.../6012.zip

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

    顺便说一下、我使用的编译器是 ARMDS

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

    请问我们有没有这方面的最新情况?

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

    您好、乔、

    对延迟响应深表歉意。

    您可以 调试 MpuM_Init()函数并检查 MPU 属性吗?

    在 MpuM_init ()函数和 CCS 变量视图中放置一个断点、检查区域的值、然后查看该函数是否存在任何差异或值不匹配。

    请参阅下图。

    此致、

    Tushar