项目需求:芯片RT1051,内部RAM512KB,外部Flash32MB,外部SDRAM16MB,基于以上配置,我自设计了一个BootLoader,在里面实现升级检测与升级功能,当没有升级时,从Flash拷贝加载用户代码(约400KB,含芯片驱动和一个实时系统)到SDRAM运行正常,但是系统运行速度较慢,为了提升系统运行速度,现在想把用户代码加载到内部RAM,但是对于链接文件和启动文件不知如何修改,请论坛大牛给予帮助,感谢!
附件包含BootLoader和用户主程序的链接文件,这两个链接文件适应于将用户代码全部加载到SDRAM运行,加载方式很简单,直接从Flash拷贝到SDRAM的0x80000000地址,加载后运行正常。
Hi @coderick ,
请问下你要实现的修改只是将原来运行在SDRAM改为运行在ITCM吗?其他部分功能保持不变是这样吗?你可以先参考下SDK Hello_world这个工程的MIMXRT1052xxxxx_ram_0x1400.icf这个文件
Best regards,
Gavin
Hi,@Gavin,
SDK中MIMXRT1052xxxxx_ram_0x1400.icf链接文件支持的内部RAM空间有限,无法放下400KB的用户程序。我的问题是:从BootLoader如何加载用户程序到内部RAM运行,加载前是不是要重新配置内部RAM,比如把ITCRAM配置为448KB?然后再把用户程序拷贝加载到内部RAM中?这里对启动文件、中断向量表、readonly、readwrite部分如何分散加载?希望您能给我一些解决问题的方向,谢谢,如果需要我提供什么材料,我再提供。
顶一个