S5PV210——start.s/tshell.lds
来源:互联网 发布:下载软件站网站源码 编辑:程序博客网 时间:2024/06/06 00:30
2. .global start
3. .extern main
4.
5. start:
6.
7. clear_bss: /* 清理BSS段 */
8. ldr r0, bss_start/* bss段起始地址 */
9. ldr r1, bss_end /* bss段结束地址 */
10. mov r2, #0x00000000/* 清成 0 */
11.
12. clbss_l:
13. str r2, [r0] /* 循环清理 */
14. add r0, r0, #4
15. cmp r0, r1
16. ble clbss_l
17.
18. bl main
19.
20. b .
21.
22. bss_start:
23. .word __bss_start
24.
25. bss_end:
26. .word __end
27.
28. .end
=========================================
arm-linux-ld 的连接控制文件shell.lds:.lds文件,决定一个可执行程序的各个段的存储位置,以及入口地址,也是链接定位的作用。
u-boot.lds 连接脚本:《参考》
OUTPUT_FORMAT("elf32­littlearm", "elf32­littlearm", "elf32­littlearm")
;指定输出可执行文件是elf 式,32位ARM指令,小端
OUTPUT_ARCH(arm)
;指定输出可执行文件的平台为ARM
ENTRY(_start)
;指定输出可执行文件的起始代码段为_start.
SECTIONS
{
. = 0x00000000 ;定位当前地址为0地址
. = ALIGN(4); 代码以4字节对齐
.text : ;指定代码段
{
cpu/arm920t/start.o (.text) ; 代码的第一个代码部分
*(.text) ;其它代码部分
}
. = ALIGN(4)
.rodata : { *(.rodata) };指定只读数据段
. = ALIGN(4);
.data : { *(.data) };指定读/写数据段
. = ALIGN(4);
.got : { *(.got) };指定got段, got段式是uboot自定义的一个段,非标准段
__u_boot_cmd_start = .;把__u_boot_cmd_start赋 为当前位置, 即起始位置
.u_boot_cmd : { *(.u_boot_cmd) } ;指定u_boot_cmd段, uboot把所有的uboot命令放在该段.
__u_boot_cmd_end = . ;把__u_boot_cmd_end赋 为当前位置,即结束位置
. = ALIGN(4);
__bss_start = . ; 把__bss_start赋 为当前位置,即bss段的开始位置
.bss : { *(.bss) } ; 指定bss段
_end = . ; 把_end赋 为当前位置,即bss段的结束位置
- S5PV210——start.s/tshell.lds
- TQ210 —— s5pv210 start.S分析
- S5PV210-uboot解析(二)-start.S解析
- u-boot.lds 及其入口Start.S的分析
- TQ210 —— s5pv210 mem_setup.S分析
- S5PV210-uboot解析(二)-start.S解析-lowlevel_init函数分析
- TQ210 —— s5pv210 lowlevel_init.S分析(uboot第一阶段)
- U-Boot源码——start.S
- uboot代码详解——start.S
- vmlinux_32.lds.S
- vmlinux_32.lds.S
- vmlinux.lds.S
- vmlinux_32.lds.S
- vmlinux.lds.S
- vmlinux_32.lds.S
- S5PV210——指令
- S5PV210——异常
- S5PV210——中断
- 多文件上传
- 网络垂直爬虫-1
- HTTP协议详解(真的很经典)
- Initialization & Cleanup
- thttpd源码小分析之Reactor pattern
- S5PV210——start.s/tshell.lds
- 士兵杀敌(二)
- Android网络编程概述(一)
- [LeetCode131]Surrounded Region
- freemarker写select组件报错总结(三)
- Java处理特殊字符替换(正则表达式)
- Linux目录结构(二)
- 无法连接到逻辑磁盘管理器服务
- Provisioning a SQL Server Virtual Machine on Azure