请问u-boot中 TEXT_BASE 的地址是如何计算出来的

go2od 2017-07-03 09:41:03
请问u-boot中 TEXT_BASE 的地址是如何计算出来的,如果要修改的话需要如何计算呢??
...全文
1407 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
世黎 2019-01-12
  • 打赏
  • 举报
回复

这个地址跟2楼所说的一样,一般是内存起始地址再加上几十M的位置,这个地址一般是不需要改动的,使用寄存器是直接基于这个基地址在加上地址就可以了
zhenimei100 2019-01-09
  • 打赏
  • 举报
回复
一般不需要你修改这个地址。。。。。。
hyyoxhk 2018-11-27
  • 打赏
  • 举报
回复
同问啊,#define CONFIG_SYS_TEXT_BASE 0x43E00000,这个0x43E00000地址是怎么来的啊
go2od 2017-07-05
  • 打赏
  • 举报
回复
我看itop 4412的开发版内存基地址是0x40000000 官方提供的uboot 物理地址设置的0x43e00000 text_base 是设置的0xc3e00000 通过查阅发现是mmu开启之后物理地址的内存映射,我修改这个地址发现uboot 运行不起来了
jklinux 2017-07-05
  • 打赏
  • 举报
回复
引用 2 楼 go2od 的回复:
我看itop 4412的开发版内存基地址是0x40000000 官方提供的uboot 物理地址设置的0x43e00000 text_base 是设置的0xc3e00000 通过查阅发现是mmu开启之后物理地址的内存映射,我修改这个地址发现uboot 运行不起来了
三星的方案,还有可能修改链接脚本里指定的地址的
jklinux 2017-07-03
  • 打赏
  • 举报
回复
引用 楼主 go2od 的回复:
请问u-boot中 TEXT_BASE 的地址是如何计算出来的,如果要修改的话需要如何计算呢??


应不是计算得来的,是根据内存控制器的片选地址得来的. 可以查看SOC的memory map.
如全志H3:

通过这个图就可以得知内存地址是从0x40000000开始的,最大可接2G内存

其实CONFIG_SYS_TEXT_BASE指定的地址只要在可用内存范围里就可以了,一般是基地址再加上几十M的位置就可以了

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧