专题1:链接器脚本
来源:互联网 发布:与男闺蜜滚床单 知乎 编辑:程序博客网 时间:2024/05/18 03:46
首先看一个链接器脚本:
SECTIONS { // SECTION为链接器脚本的开头 . = 0x30008000; // 程序运行的首地址 . = ALIGN(4); //4字节对齐 .text : //代码段 { led.o (.text) //cpu上电后最先启动的程序led.o,排在代码段的最前面 *(.text) } . = ALIGN(4); .rodata : {*(.rodata)} . = ALIGN(4); .data : {*(.data)} //数据段 . = ALIGN(4); bss_start = .; //程序中可能会用到这个地址 .bss : {*(.bss) *(COMMON)} //bss段 bss_end = .; //程序中可能会用到这个地址}
1、链接器脚本的神奇作用
[实验演示]使用两种不同的链接器脚本去链接同一程序,产生的最终程序不一样,烧写到开发板中出现不一样的效果。(led1.lds 和 led2.lds的代码段首文件不一样)
结论:链接器脚本控制程序产生的过程。
2、脚本的构成
1)基本构成:段
一个可执行程序通常是由代码段、数据段和bss段构成的。
2)起始连接地址
. = 0x30008000;
3)对齐
计算机默认4字节对齐,尽量把其实地址设为4的整数倍。为保证按4字节存储,各个段的前面跟上一句代码进行4字节进行调整。
. = ALIGN(4);
4)变量
bss_start = .; //. 代表当前位置
5)代码段首文件
.text : //代码段 { led.o (.text) //cpu上电后最先运行的程序led.o *(.text) //* 代表所有的 }
注意:
1、SECTION { }中的代码前要按【TAB】键。
2、改变文件夹的权限命令
chmod -R 777 ./ //或 chmod 777 -R ./
3、返回上次的目录的命令
cd -
如果是复制A文件夹的内容复制到B文件夹,是去更改B文件夹的权限。
0 0
- 专题1:链接器脚本
- 1-1-4 链接器脚本
- Linker script 链接器脚本(1)
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 十.链接器脚本
- 链接器脚本
- 链接器脚本lds
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本
- 链接器脚本 .lds
- 链接脚本(1)
- 链接脚本(1)
- 链接脚本(1)
- 面试习题整理(一)
- 依赖注入利器 - Dagger ‡
- 驱动复习2(mor8)
- 关于Redis---数据类型-String
- 71. Simplify Path**
- 专题1:链接器脚本
- 关于KMP算法中前缀函数(next函数)的一点个人理解
- C语言——用联合体判断大小端
- Android-Dalvik指令集
- 【HDU 5996 dingyeye loves stone】+ 尼姆博弈
- 业内
- 安装Subversion SVN
- 字符串 与 数组
- YUV数据都为0,为什么为绿色