主题:SysConfig 中讨论的其他器件
工具/软件:
您好:
我从 r5fss0的"..\mcusdk\examples\sdl\ESM\MCU_esm0\am64x-evm_r5fss0-0_nortos_ti-arm-clang 加载了一个示例工程(mcu_esm0_am64x-evm_r5fss0-0_nortos\ti-arm-clang)。
我已编译、加载并成功运行原始工程。
然后、我在 "example.sysconfig"的"TI 驱动程序"部分中启用了 DDR、并在"Memory Configurator"部分中配置了大小为0x400 0000的存储器区域 DDR_ALL_X、并将"Sections""Memory Segments"、"Stack Segments"和"Initialization and Exception Handling"从 MSRAM_All_X 切换
我编译、加载并成功运行该工程。
然后、我为具有 ECC 区域0起始地址0 (0x8000 0000的偏移量)和结束地址0x200 0000的 DDR 启用内联 ECC。
项目现在不能成功运行、而是运行在 System_init ()中的 ABORT_HANDLER 中。 通过单步调试、我可以看到系统从调用 CacheP_wbInv ()的 DDR.c 第386行跳转到 HwiP_armv7r_Handlers_nortos.c (第351行和第298行)中的"HwiP_User_data_abort_hander"。
有一个已启用 DDR ECC 的测试项目和一些自检、但 DDR 仅经过测试、否则未使用。
错误在哪里? 我们是否必须通过引导加载程序等方式提前启用具有 ECC 的 DDR?
随附的 zip 文件包含所描述的项目、以便于复制...
感谢您的帮助
Rolf
e2e.ti.com/.../mcu_5F00_esm0_5F00_am64x_5F00_r5fss0_5F00_ddr_2D00_ecc.zip