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