关于位置相关码和位置无关码的理解(韦东山视频中mmu实验和串口实验)
2012-10-27 21:28
337 查看
关于位置相关码和位置无关码的理解(韦东山视频中mmu实验和串口实验)
mmu和串口实验都有“设置存储控制器以使用SDRAM 函数”memsetup ,mmu实验用的是位置相关的代码写的,而串口实验用的是位置无关的代码写的。程序的运行位置,和存储位置由.lds文件决定。
在mmu实验中lds文件为
SECTIONS {
firtst 0x00000000 : { head.o init.o }
second 0xB0004000 : AT(2048) { leds.o }
}
memsetup函数在init.c文件中,由lds文件分析这段函数是在2440内部的SRAM中运行的,所以可以使用位置相关码写。
在串口实验中lds文件为
SECTIONS {
. = 0x30000000;
.text : { *(.text) }
.rodata ALIGN(4) : {*(.rodata)}
.data ALIGN(4) : { *(.data) }
.bss ALIGN(4) : { *(.bss) *(COMMON) }
}
整个代码都是要放在SDRAM中运行,memsetup是2440启动自动拷贝到内部4k的SRAM中去了。所以会出现运行位置在SDRAM中,而实际运行是在2440中。所以要用位置无关码来写。
以上为个人学习总结,如有错误欢迎指正,本人在此先谢谢各位
相关文章推荐
- 韦东山第三期视频电子书项目轮询输入实验的相关说明
- 关于ARM指令中位置无关和位置相关代码的认识
- 对位置无关代码的理解
- 关于串口的一些理解
- 位置无关代码码与位置相关代码
- 关于(void**)及其相关的理解
- 关于NIO的理解及相关的例子
- 位置无关码,位置相关码
- 关于物料主数据中MRP相关配置字段理解
- [转载]关于gcc,libc等相关概念的理解。
- 位置相关码,位置无关码?
- Go语言关于chan理解的实验
- 1.1 关于ARM中重定位:位置有关码和位置无关码及运行地址和链接地址
- 关于JTAG——韦东山嵌入式Linux视频学习笔记02
- Js位置与大小(1)——正确理解和运用与尺寸大小相关的DOM属性
- 位置无关码的理解和使用
- 韦东山视频实验之Input子系统分析之二
- 关于串口发送中断的理解(转)
- CCNA实验8:关于PPP的一些相关的实验:
- 关于Android popupWindow的位置显示 showAtLocation理解