烧写resource和kernel镜像,不同地址都可烧写成功
我发现一个现象:使用windows下烧写工具,默认resource地址是0x8000,kernel默认地址是0x10000,可以正常烧写,且系统可以启动。
而官方固件中parameter文件中,resource地址是0x6000,kernel地址是0xE000,也可以烧写成功,并且系统正常启动。
请问这是什么原因? 不知道下面我理解的是否正确?
正确的地址配置应该是parameter文件中的。u-boot启动后跳转到kernel的地址0xE000,如果把kernel烧写到0x10000,从0xE000到0x10000这段区域是什么都没有的,直到执行到0x10000才是真正的内核代码。resource也是同理。
所以看起来烧写到两个地址都可以正常启动,但是resource烧写到0x800,kernel烧写到0x10000时,cpu会多执行一段没有代码的区域,然后进入正常的源码 一般来说分区大小会有剩余,不会被填满,所以地址有偏差,只要不影响前后分区的实际使用空间
一般不会有问题。你可以自己验证下。
不过最好按parameter文件为标准,调准AndroidTool烧写的分区地址。 我也发现了这个问题,,
页:
[1]