AT91Bootstrap1.16源码中连接脚本文件(elf32-littlearm.lds)分
该连接文件在AT91Bootstrap1.16Bootstrap-v1.16目录下 elf32-littlearm.lds 连接脚本文件主要用于规定如何把输入文件内的section放入输出文件内,并控制输出文件内各部分在程序地址空间内的布局 OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm") ??????????? //指定输出可执行文件是elf格式,32位ARM指令,小端 OUTPUT_ARCH(arm)
ENTRY(reset)
SECTIONS //程序具体在flash中分配格式 {
?????????? ?. = ALIGN(4);//以下按照4字节对齐 有对齐约束? //指定代码段 ??????????? .text : { //代码段将所有的输入文件.text sectin合并成一个.text section
?????????????????? _stext= .; //把_stext赋值为当前位置,即text段的开始位置 ?????????????????? *(.text)? //所有输入文件的.text section ?????????????????? *(.rodata)????? ???????????/* read-only data (constants) */ ?????????????????? *(.rodata*) ? ? ? ? ? ? ? ? ? . = ALIGN(4); //以下按照4字节对齐 有对齐约束 ????????????????? _etext = . ; //把_etext赋值为当前位置,即text段的结束位置 ??????????? ?? } ??????????? /* collectall initialized .data sections */ ??????????? .data : AT( ADDR (.text) + SIZEOF (.text) ) { //已初始化数据段DATA ?????????????????? _sdata= .; //把_sdata赋值为当前位置,即data段的开始位置 ?????????????????? *(.vectors) ?????????????????? *(.data) ?????????????????? _edata= .; //把_sdata赋值为当前位置,即data段的结束位置 ??????????? } ??????????? /* collectall uninitialized .bss sections */ ??????????? .bss(NOLOAD) : { 未初始化数据段BSS ?????????????????? . =ALIGN(4); ?????????????????? _sbss= .;? //把_sbss赋值为当前位置,即bss段的开始位置 ?????????????????? *(.bss) ?????????????????? _ebss= .;? //把_ebss赋值为当前位置,即bss段的结束位置 ??????????? } } end = .;? /* define aglobal symbol marking the end of application */定义一个全局符号,标记的应用程序的最终 该链接文件需要详细分析出程序代码在Flash中的具体的存储分配结构图。具体需要编译出dis文件??? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Bootstrap~多级导航(级联导航)的实现效果【附代码】
- 《数据结构》线性表:顺序存储结构(顺序表的)实现示例代码
- angularjs – Angular 2:将视图/ DOM注入组件构造函数
- typescript – 订阅Angular 2中组件属性的更改以进行去抖动
- angularjs – 如何使用angular-file-upload获取图像尺寸
- 数据绑定在angular2中不起作用
- BOOTP:引导协议 (Bootstrap Protocol)
- Cxf开发webservice时遇到Can't find the request for x
- redis 6源码解析之 ziplist
- 开发bootstrap的Icon图表的事例