stm32 .icf文件.map文件,匯編文件對(duì)照
(1)
從匯編語(yǔ)句中可以看出中斷向量表的位置處于0x08004000。對(duì)應(yīng).ICF文件中的
define symbol __ICFEDIT_intvec_start__ = 0x08004000;
補(bǔ)充一點(diǎn):中斷向量表就是2條語(yǔ)句做為一個(gè)單元,里面存儲(chǔ)的就是中斷函數(shù)的入口地址。我們平時(shí)寫(xiě)的中斷函數(shù),就可以在某個(gè)中斷的入口地址下面看到。
(2)
define symbol __ICFEDIT_SYS_FUNC_start__ = 0x08004200; //functab
此部分是在0x08004200后插入一段代碼,從矢量表中我們可以看出矢量表的最后的地址是0x0800412e。所以從0x08004200開(kāi)始插入一段代碼段(SYS_FUNC)沒(méi)問(wèn)題.
(3)
從ICF文件中設(shè)置了SYS_FUN代碼段的起始地址0x08004200。該代碼段 第一個(gè)函數(shù)B.W CTR_HP 地址就是0x08004201,匯編文件中最后1位是1(這個(gè)問(wèn)題暫時(shí)沒(méi)搞懂,好像是ARM狀態(tài),Thumb狀態(tài)的問(wèn)題)。TODO:看《Cortex_M3權(quán)威指南》





