[学习日志][2-2-4][链接器脚本]
2017-03-14 00:37
141 查看
链接器脚本
一个可执行程序通常由:代码段、数据段、bss段构成。在用于链接这个程序的链接器脚本中,反应的是这几个段的信息。
创建链接器脚本
1.创建链接器脚本
vim led.lds
2.设置起始链接地址
3.对其设置
arm处理器在访问数据的时候是以4字节对齐的方式访问的,所以在存储数据时以4字节对齐可以提高访问效率
4.使用变量
使用变量保存下来的地址可以在程序中使用
5.设置代码段的首文件
通过设置首文件,保证一个文件在程序开始时被执行
一个可执行程序通常由:代码段、数据段、bss段构成。在用于链接这个程序的链接器脚本中,反应的是这几个段的信息。
创建链接器脚本
1.创建链接器脚本
vim led.lds
2.设置起始链接地址
. = 0x30008000
3.对其设置
. = ALIGN(4);
arm处理器在访问数据的时候是以4字节对齐的方式访问的,所以在存储数据时以4字节对齐可以提高访问效率
4.使用变量
start_adr = .;
使用变量保存下来的地址可以在程序中使用
5.设置代码段的首文件
led.o(.text)
通过设置首文件,保证一个文件在程序开始时被执行
SECTIONS{ . = 0x30008000; //"."表示当前地址,代码段之前的地址是起始地址,表示把起始地址设置成0x30008000 . = ALIGN(4); //"."表示当前地址,ALIGN(4)表示以4字节对齐,如果当前地址不能被4整除,则下一个地址加上一个偏移使之能被4整除 .text : //代码段 { main.o(.text) //表示main.o在其他文件之前 *(.text) //“*”表示所有文件,".text"表示代码段 } . = ALIGN(4); .data : //数据段 { *(.data) //“*”表示所有文件,".data”表示数据段 } . = ALIGN(4); bss_start = .; //设置变量bss_start等于当前地址 .bss : //bss段 { *(.bss) //“*”表示所有文件,".bss"表示bss段 } bss_end = .; //设置变量bss_end等于当前地址 }
相关文章推荐
- 学习练习程序:根据日期提取日志的python脚本。
- 学习笔记之 链接器脚本的简单使用
- shell脚本学习日志
- Python 脚本学习(三),日志分析脚本,文件差异对比,HTTP状态检测
- 嵌入式学习-uboot-lesson1-链接器脚本基础知识
- TQ2440,学习笔记之链接器脚本
- 国嵌嵌入式学习笔记-链接器脚本语法格式
- (2)ok6410学习之链接器脚本学习
- shell 脚本完成对日志文件的提取之grep 学习
- hadoop学习之HDFS(2.7):实例:开发shell脚本定时采集日志数据到hdfs
- JMeter学习—006—JMeter 命令行(非GUI模式)详解(一)-分布式(远程)执行脚本及查看指定结果、日志
- shell 脚本完成对日志文件的提取之sed 学习
- JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本
- shell脚本学习日志
- shell 脚本完成对日志文件的提取之awk 学习
- Linux学习日志(11))- 写个切换目录的小shell脚本
- Praat 学习日志2--第一个脚本程序,输出“hello world!”
- Rational XDE For .NET 学习日志(一)
- 学习日志(2005.03)
- 用脚本缩小数据库日志