OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5298|回复: 4

关于87800000这个地址的一些疑问

[复制链接]

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2020-4-6 11:01:58 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 hi我歌月徘徊 于 2020-4-6 11:52 编辑

使用如下uboot指令 可以运行裸机实验 printf.bin(11.6KB)tftp 87800000 printf.bin
go 87800000

然后我就有一些想法,8780 0000这个地址本身也是uboot的运行地址啊,为啥把这个地址的数据改变之后 uboot还可以正常运行呢?
我又反复读了开发指南 总结如下

开发板的DDR(256M)起始地址 0x8000 0000 -- 0x8FFF FFFF
uboot和裸机实验的链接地址都为0x8780 0000

以裸机实验生成的led.bin为例,
通过imxdownload下载到SD卡里面的bin文件 在内存里是这样的:
0x0000 0000
留空1k(BootRom要求IVT放到指定位置)
0x0000 0400
IVT+Boot data + DCD = 3k字节
0x8780 1000
led.bin/uboot


最终下载到0x8780 0000这个地址的数据为IVT+Boot data + DCD + led.bin 也就是load.imx文件,在DDR的内存里应该是这样的:
0x8000 0000
这里的留120M干嘛用了?
0x8780 0000
IVT+Boot data + DCD = 0xC00(3k字节)
0x8780 1000
led.bin/uboot


1.87800000这个地址实际上保存的不是uboot,而是IVT的一些数据
2.87801000这个地址上才是uboot的开始
  然后还是没有解决我的疑问  
  虽然8780 0000这个地址保存的不是uboot 但也是IVT的一些指令 覆盖之后也不会破坏uboot  
  但是如果我tftp下载的文件大于4k 那就超过了0x8780 1000这个地址 也就是覆盖了uboot了 为啥uboot还能正常运行呢?




最佳答案

查看完整内容[请看2#楼]

u-boot会进行重定位,重定位后,会把自己扔到内存最后面,87800000就空出来了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

41

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2019-8-20
在线时间
83 小时
发表于 2020-4-6 11:01:59 | 显示全部楼层
u-boot会进行重定位,重定位后,会把自己扔到内存最后面,87800000就空出来了。
回复

使用道具 举报

13

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
351
金钱
351
注册时间
2016-4-20
在线时间
162 小时
发表于 2020-4-7 00:14:48 来自手机 | 显示全部楼层
u-boot有个代码重定位的过程,会把自己重定位到内存高地址。低地址留给linux等有u-boot启动的代码。启动led也是同理。
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-4-7 10:13:21 | 显示全部楼层
你理解错了,U-Boot的链接地址是0x87800000,那么运行地址对应的也是0x87800000,而不是0x87801000,这个IVT头部数据拷贝到DDR之后会存放在0x87800000地址前面,而U-Boot的起始地址会对准0x87800000,这个是BootROM代码进行解析处理的,建议你去看看数据手册。
森罗万象
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
 楼主| 发表于 2020-4-7 15:28:34 | 显示全部楼层
hannuaa 发表于 2020-4-7 00:14
u-boot有个代码重定位的过程,会把自己重定位到内存高地址。低地址留给linux等有u-boot启动的代码。启动led ...

明白了 谢谢解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 10:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表