IMXRT1052/1064 如何将代码存放在ITCM中

IAR中将代码全部放在ITCRAM中执行 ① 修改启动文件,添加一个新的中断向量表(具体代码可以查看例程中example例程)。 ② 修改分散加载文件,将新的中断向量表放到ITCRAM中 ③ 修改分散加载文件,利用IAR自带的copy函数将code从FLASH复制到ITCRAM中。 程序在进入main()函数之前,除了堆栈初始化之外,还会将数据从加载域copy到执行域。

利用这个功能,修改分散加载文件,将希望在ITCRAM执行的code进行复制。

为程序代码区域分配具体的region,下图就是将程序代码区域分配到ITCRAM中。

④ 重定位向量表。在SystemInit()函数中重定位中断向量表,分散加载文件中中断向量表起始地址0x00000000,设置为对应的即可。

MDK中将代码全部放在ITCRAM中执行 ① 修改分散加载文件,将新的中断向量表放到ITCRAM中

② 修改分散加载文件,利用MDK自带的copy函数将code从FLASH复制到ITCRAM中。

③ 将flash中的中断向量表复制到ITCRAM中,并重定位向量表。

经验分享 程序员 微信小程序 职场和发展