关于位置相关码和位置无关码的理解(韦东山视频中mmu实验和串口实验)
来源:互联网 发布:mac jdk降级 编辑:程序博客网 时间:2024/05/29 11:08
关于位置相关码和位置无关码的理解(韦东山视频中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中。所以要用位置无关码来写。
以上为个人学习总结,如有错误欢迎指正,本人在此先谢谢各位
- 关于位置相关码和位置无关码的理解(韦东山视频中mmu实验和串口实验)
- 关于韦东山MMU实验
- 关于韦东山MMU实验
- 位置无关码的理解和使用
- 伟东山视频自学笔记——bootloader与linux中位置无关代码(PIC)的分析理解
- 关于ARM指令中位置无关和位置相关代码的认识
- ARM下位置无关码和位置相关码介绍
- ARM下的位置无关和相关码
- S3C2440的汇编中常用的位置无关和位置相关指令
- 1.1 关于ARM中重定位:位置有关码和位置无关码及运行地址和链接地址
- 位置无关码,位置相关码
- 位置相关(无关)码 浅谈
- 【补充】位置无关码和位置有关码
- 重定位过程中的位置无关代码和位置相关的代码
- ARM的位置无关码
- 韦东山第三期视频电子书项目轮询输入实验的相关说明
- 位置无关代码码与位置相关代码
- 裸板程序--韦东山第4课 MMU实验
- 第四个解析HTML文件的Python程序
- 重复数据删除
- strtok函数实现与应用
- 信息的魅力
- *tmp++=*src++;
- 关于位置相关码和位置无关码的理解(韦东山视频中mmu实验和串口实验)
- 6th Jilin Province Collegiate Programming Contest ——Problem B: Chinese Knight
- Android中shape的使用
- 贪心算法
- 免安装oracle客户端使用PL SQL developer(绿色版oracle客户端)
- ZOJ 1004 Anagrams by Stack(dfs堆栈)
- ios::sync_with_stdio(false);
- Evaluate the Costs and Benefits of Using DBMS_REPAIR(2)【每日一译】--2012-10-27
- 自主开发还是选通用软件?