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 选项时,链接器将创建 C 自动初始化表和初始化数据。链接器会在名为 .cinit 的输出段中创建表和初始化数据。
自动初始化表的格式如下:
链接器定义的符号 __TI_CINIT_Base 和 __TI_CINIT_Limit 分别指向表的开头和结尾。此表中的每个条目对应一个需要初始化的输出段。可以使用不同的编码对每个输出段的初始化数据进行编码。
C 自动初始化记录中的加载地址指向以下格式的初始化数据:
8 位索引 | 编码数据 |
初始化数据的前 8 位是处理程序索引。它将索引到处理程序表中,以获取知道如何解码以下数据的处理程序函数的地址。
处理程序表是 32 位函数指针的列表。
8 位索引后面的编码数据 可以是以下格式类型之一。为清晰起见,还为每种格式介绍了 8 位索引。