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中,並重定位向量表。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章