工具与软件:
我将 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 工作不正常。
