前言
程序在完成编译后,每个“.c”文件会生成“.o”目标文件,此时代码无法通过目标文件运行,还需要通过链接文件为每个目标文件和系统标准库等链接起来,根据链接文件中对函数及变量等分配至内存地址,组成可执行文件。
先了解一下最常用的几个段信息(可以查看map文件):
- .text:保存的是程序的指令,通常存放 ROM(Flash)
- .rodata:保存的是常量,通常存放 ROM(Flash)
- .data:保存的是已初始化的全局变量和已初始化局部静态变量,初始值通常存放 ROM(Flash)
- .bss:保存的是未初始化的全局变量和未初始化局部静态变量,而且.bss段只预留位置没有内容,在文件中不占空间
这篇介绍英飞凌 AURIX TC3XX 系列单片机的链接文件,主要是针对使用 SOTA 功能如何修改链接文件,完整地实现 SOTA 功能。
如果需要通过链接文件想实现其他功能,如分配内存地址等,可以下载(这里不做过多介绍,里面较为详细):TC3xx MCAL中Tasking Link