U-Boot学习笔记(四):TEXT_BASE的理解
来源:互联网 发布:集思宝g120数据导出 编辑:程序博客网 时间:2024/06/05 05:57
[IMX6Q]TEXT_BASE和_start的区别 :
其实可以这么理解:
_start是可以动态变化,而TEXT_BASE是链接时就确定的地址。
_start是实际运行的地址,而TEXT_BASE是要copy到sdram中运行的地址, 当然也是最终u-boot实际运行的地址。
u-boot的start.S中在启动第一阶段会比较这两个值是否相等,不相等则会将
自身copy到sdram中。
假设_start出是第一条执行的指令,并且TEXT_BASE=0x27800000,
分两种情况说明:
1. 当u-boot被download到nor flash或被copy到内部sram时,假设被copy到的地址是0x907000,
那么此时_start的地址是0x907000,此时就需要将自身copy到TEXT_BASE地方。
2. 当u-boot本身就被download sdram的TEXT_BASE定义的地址出,那么此时_start本身的地址
就是0x27800000了,所以和TEXT_BASE比较的结果相等而不用作自身代码搬移的工作了。
其实可以这么理解:
_start是可以动态变化,而TEXT_BASE是链接时就确定的地址。
_start是实际运行的地址,而TEXT_BASE是要copy到sdram中运行的地址, 当然也是最终u-boot实际运行的地址。
u-boot的start.S中在启动第一阶段会比较这两个值是否相等,不相等则会将
自身copy到sdram中。
假设_start出是第一条执行的指令,并且TEXT_BASE=0x27800000,
分两种情况说明:
1. 当u-boot被download到nor flash或被copy到内部sram时,假设被copy到的地址是0x907000,
那么此时_start的地址是0x907000,此时就需要将自身copy到TEXT_BASE地方。
2. 当u-boot本身就被download sdram的TEXT_BASE定义的地址出,那么此时_start本身的地址
就是0x27800000了,所以和TEXT_BASE比较的结果相等而不用作自身代码搬移的工作了。
0 0
- U-Boot学习笔记(四):TEXT_BASE的理解
- u-boot.lds与-Ttext $(TEXT_BASE)
- U-Boot: 如何确定TEXT_BASE值
- u-boot学习笔记四(C语言部分)
- u-boot关于u-boot的理解
- Uboot中 TEXT_BASE的理解
- Uboot中 TEXT_BASE的理解
- u-boot学习(四):u-boot常用命令以及uboot命令的添加
- U-boot的使用(四)
- u-boot SPL的理解
- 关于u-boot的理解
- U-boot初级学习笔记
- U-boot初级学习笔记
- U-boot学习笔记(一)
- U-boot学习笔记(二)
- U-boot学习笔记(三)
- u-boot 第一阶段学习笔记
- 学习韦东山视频之对u-boot的理解
- Spring学习笔记(11.Spring Bean装配注释)
- IT人生法则
- 网络抓包神器-Charles使用指南
- linux用户管理和分区
- python 装饰器
- U-Boot学习笔记(四):TEXT_BASE的理解
- Android将商品加入购物车的动画效果
- VirtualBox的虚拟硬盘vdi扩容
- git 合并解决冲突
- 记录学习的点滴(多台服务器如何共享session)
- 复习 OOA、OOD、OOP
- bash shell不能只用来设置export
- 数据结构入门
- 组合与继承