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
編譯的目標文件沒有初始化表。直接將變量初始化。當指定 --rom_model 選項時,鏈接器將創(chuàng)建 C 自動初始化表和初始化數(shù)據(jù)。鏈接器會在名為 .cinit 的輸出段中創(chuàng)建表和初始化數(shù)據(jù)。
自動初始化表的格式如下:
鏈接器定義的符號 __TI_CINIT_Base 和 __TI_CINIT_Limit 分別指向表的開頭和結尾。此表中的每個條目對應一個需要初始化的輸出段??梢允褂貌煌木幋a對每個輸出段的初始化數(shù)據(jù)進行編碼。
C 自動初始化記錄中的加載地址指向以下格式的初始化數(shù)據(jù):
| 8 位索引 | 編碼數(shù)據(jù) |
初始化數(shù)據(jù)的前 8 位是處理程序索引。它將索引到處理程序表中,以獲取知道如何解碼以下數(shù)據(jù)的處理程序函數(shù)的地址。
處理程序表是 32 位函數(shù)指針的列表。
8 位索引后面的編碼數(shù)據(jù) 可以是以下格式類型之一。為清晰起見,還為每種格式介紹了 8 位索引。