Firefly开源社区

烧写resource和kernel镜像,不同地址都可烧写成功

12

积分

0

威望

0

贡献

游客

积分
12
发表于 2018-6-15 14:55:59     
我发现一个现象:

使用windows下烧写工具,默认resource地址是0x8000,kernel默认地址是0x10000,可以正常烧写,且系统可以启动。

而官方固件中parameter文件中,resource地址是0x6000,kernel地址是0xE000,也可以烧写成功,并且系统正常启动。

请问这是什么原因?
回复

使用道具 举报

12

积分

0

威望

0

贡献

游客

积分
12
发表于 2018-6-15 15:12:30     
不知道下面我理解的是否正确?

正确的地址配置应该是parameter文件中的。u-boot启动后跳转到kernel的地址0xE000,如果把kernel烧写到0x10000,从0xE000到0x10000这段区域是什么都没有的,直到执行到0x10000才是真正的内核代码。resource也是同理。

所以看起来烧写到两个地址都可以正常启动,但是resource烧写到0x800,kernel烧写到0x10000时,cpu会多执行一段没有代码的区域,然后进入正常的源码
回复

使用道具 举报

196

积分

0

威望

0

贡献

技术小白

积分
196
发表于 2018-6-15 15:21:50     
一般来说分区大小会有剩余,不会被填满,所以地址有偏差,只要不影响前后分区的实际使用空间
一般不会有问题。你可以自己验证下。
不过最好按parameter文件为标准,调准AndroidTool烧写的分区地址。
回复

使用道具 举报

69

积分

0

威望

0

贡献

技术小白

积分
69
发表于 2018-8-7 15:07:57     
我也发现了这个问题,,
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表