问题:通过配置分散加载文件,将RT1052代码存储在Nor_Flash,运行在 SDRAM;程序执行eMMC的初始化时会卡死,请问这是为什么?同样的代码存储在Nor_Flash,XIP运行,没有任何问题。
详细描述:
以下是运行在 SDRAM时的分散加载文件
还有一个现象是:将以上分散加载文件中的.ANY (+ZI)和.ANY(+RW)的execute region设置到0x20000000,程序就运行正常了;
还有一个现象是:将eMMC的初始化函数从main函数移到FreeRTOS的线程里,初始化能成功,但程序又会死在其它地方;
MCU:MIMXRT1052CVL5B
编译工具:Keil
兄弟四年了解决这个问题了吗?
Hi,
You put all data in SDRAM. This may cause cache problem. Because if the data is cached, DMA will make the data conflict. First please try to disable the cache. If it works, you should put these DMA related data into none cache area like DTC.
Regards,
Jing
可以把你实现的过程具体说下吗?我也想把code搬运到sdram运行,没找到参考的例子