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中,並重定位向量表。