ZHCUAQ1F july 2015 – april 2023
C/C++ 程序在开始执行程序之前需要初始化运行时环境。该初始化由引导程序 进行。引导程序负责创建堆栈、初始化全局变量并调用 main() 函数。引导程序应该是程序的入口点,通常应该是 RESET 中断处理程序。引导程序负责执行以下任务:
当编译 C/C++ 程序并使用 --rom_model 或 --ram_model 时,链接器会自动查找名为 _c_int00 的引导程序。运行时支持库在 boot.c.obj 中提供了一个示例 _c_int00,它会执行所需的任务。如果使用运行时支持库的引导程序,应将 _c_int00 设置为入口点。
_c_int00 符号:如果使用 --ram_model 或 --rom_model 链接选项,_c_int00 会自动定义为程序的入口点。如果命令行未列出任何要编译的 C/C++ 文件,并且未指定 --ram_model 和 --rom_model 链接选项,则链接器不知道是否使用了 C/C++ 约定,并且您将收到链接器警告“警告:没有找到合适的程序入口:设置为”。有关使用 --rom_model 和 --ram_model 选项的详细信息,请参阅节 6.3.4。