mini2440系统移植篇之kernel链接
来源:互联网 发布:软件专利说明书 编辑:程序博客网 时间:2024/05/16 18:52
链接文件在arch/arm/kernel中,由vmlinux.S生成vmlinux.lds
SECTIONS
{
1、代码起始段,head段对应arch/arm/kernel/head.o arm/arch/kernel/init_task.o
. = 0xC0000000 + 0x00008000; //代码段起始地址,这是个虚拟地址
.text.head : {
_stext = .;
_sinittext = .;
*(.text.head)
}
2、内核初始化代码,init段对应init/built-in.o
.init : { /* Init code and data */
*(.init.text) *(.cpuinit.text) *(.meminit.text)
_einittext = .;
__proc_info_begin = .;
*(.proc.info.init)
__proc_info_end = .;
...
__init_end = .;
}
3、真正的代码段
.text : { /* Real text segment */
_text = .; /* Text and read-only data */
__exception_text_start = .;
*(.exception.text)
__exception_text_end = .;
. = ALIGN(8); *(.text.hot) *(.text) *(.ref.text) *(.text.init.refok) *(.exit.text.refok) *(.devinit.text) *(.devexit.text) *(.text.unlikely)
. = ALIGN(8); __sched_text_start = .; *(.sched.text) __sched_text_end = .;
. = ALIGN(8); __lock_text_start = .; *(.spinlock.text) __lock_text_end = .;
. = ALIGN(8); __kprobes_text_start = .; *(.kprobes.text) __kprobes_text_end = .;
*(.fixup)
*(.gnu.warning)
*(.rodata)
*(.rodata.*)
*(.glue_7)
*(.glue_7t)
*(.got) /* Global offset table */
}
4、只读数据段
. = ALIGN((4096)); .rodata : AT(ADDR(.rodata) - 0) { __start_rodata = .;
...
etext = .; /* End of text and rodata section */
5、数据段
__data_loc = .;
.data : AT(__data_loc) {
_data = .; /* address in memory */
...
_edata = .;
}
_edata_loc = __data_loc + SIZEOF(.data);
6、BSS段
.bss : {
__bss_start = .; /* BSS */
*(.bss)
*(COMMON)
_end = .;
}
7、调试信息段
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
- mini2440系统移植篇之kernel链接
- mini2440系统移植篇之kernel配置
- mini2440系统移植篇之kernel编译
- mini2440系统移植篇之kernel启动流程
- mini2440系统移植篇之rootfs制作
- mini2440系统移植篇之u-boot分析
- mini2440系统移植篇之u-boot第一阶段汇编
- mini2440系统移植篇之u-boot第二阶段C语言
- mini2440系统移植篇之init启动流程
- mini2440 uboot201103 系统移植
- mini2440系统移植
- mini2440 uboot201103 系统移植
- mini2440 uboot201103 系统移植
- mini2440移植之yaffs2
- mini2440之uboot移植
- 友善之臂MINI2440移植Linux内核“Kernel panic”的解决方法
- 移植android系统到mini2440
- mini2440移植之nand驱动
- cocos2dx的内存管理机制
- hdu1785 You Are All Excellent
- Linux 软件包管理
- Failed to connect to remote VM. Connection refused. Connection refused: connect
- mini2440系统移植篇之kernel编译
- mini2440系统移植篇之kernel链接
- 父类指针指向子类对象的理解
- codeforces 546 D
- Opacity多浏览器透明度兼容处理
- 获取手机信息的工具类
- C# 在程序焦点之外捕捉按键操作(键盘钩子的使用)
- python笔记15--django之web(MVC模式)
- PES/TS/ES
- leetcode - Regular Expression Matching