ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
編譯的目標(biāo)文件沒有初始化表。直接將變量初始化。當(dāng)指定 --rom_model 選項(xiàng)時(shí),鏈接器將創(chuàng)建 C 自動初始化表和初始化數(shù)據(jù)。鏈接器會在名為 .cinit 的輸出段中創(chuàng)建表和初始化數(shù)據(jù)。
自動初始化表的格式如下:
鏈接器定義的符號 __TI_CINIT_Base 和 __TI_CINIT_Limit 分別指向表的開頭和結(jié)尾。此表中的每個條目對應(yīng)一個需要初始化的輸出段。可以使用不同的編碼對每個輸出段的初始化數(shù)據(jù)進(jìn)行編碼。
C 自動初始化記錄中的加載地址指向以下格式的初始化數(shù)據(jù):
| 8 位索引 | 編碼數(shù)據(jù) |
初始化數(shù)據(jù)的前 8 位是處理程序索引。它將索引到處理程序表中,以獲取知道如何解碼以下數(shù)據(jù)的處理程序函數(shù)的地址。
處理程序表是 32 位函數(shù)指針的列表。
8 位索引后面的編碼數(shù)據(jù) 可以是以下格式類型之一。為清晰起見,還為每種格式介紹了 8 位索引。