本文主要是介绍使用cosmic开发STM8L的链接文件简要说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、链接文件的注释以#开头
2、每个段以以下形式表示:
+seg <section> <options>
1)、section部分的含义:
.text:代码区
.fconst:大的常量
.const:常量
.data:在long addressing range内存中的初始化数据
.bss:在long range内存中的未初始化数据
.bsct:在最开始256字节(也成为short range或short addressing range)中的初始化数据
.ubcst:在short range内存中的未初始化数据
.fdata:大的变量
.eeprom:在eeprom中的任何变量
.bit:位变量,一般用于存放_Bool型变量
2)、options部分的含义:
-a seg1:当前段(segment)跟在段seg1之后,段名seg1可以使用-n指定
-b addr:设置段的物理开始地址addr
-e addr:设置段的物理结束地址addr
-m size:设置此段的最大值
-it:使用此段作为主描述或自动初始化数据的拷贝映像
-id:初始化此段
-ib:不初始化此段
-ik:标示此段为校验段
-ic:标示此段可以移动
-n name:设置输出的段名,最长15个字符
+def:定义符号名
3)如果没有使用-b设定开始地址,段bsct、text从0开始,段data跟在bsct后面,段bss跟在data后面。
4)变量放置的区域
使用const定义的变量存放在.const部分,.const部分占用flash空间,具体可以参考map文件,里面有具体的起始、结束地址及占用空间的大小,一般占用flash空间。
一般局部变量存放在stack空间。
对于static定义的变量,无论此变量是全局变量还是局部变量,如果初始化了则放在.data部分,如果未初始化则放在.bss部分。
这篇关于使用cosmic开发STM8L的链接文件简要说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!