Arm 为什么需要在beagleoboard中的特定地址加载uboot?

Arm 为什么需要在beagleoboard中的特定地址加载uboot?,arm,beagleboneblack,beagleboard,u-boot,omap,Arm,Beagleboneblack,Beagleboard,U Boot,Omap,在BeagleBoard中,我们使用下面的特定地址加载uImage和dtb loaduImage=fatload mmc 0:1 0x80007fc0 uImage loadfdt=fatload mmc 0:1${dtaddr}omap3-beagle-xm.dtb 为什么我们不能使用其他地址?beagle board xm的数据表中指出,beagle board中的DRAM地址从0x8000000开始,那么为什么不选择任何地址呢 为什么我们不能在某个地址加载uImage,然后在128MB之后

在BeagleBoard中,我们使用下面的特定地址加载uImage和dtb

loaduImage=fatload mmc 0:1 0x80007fc0 uImage

loadfdt=fatload mmc 0:1${dtaddr}omap3-beagle-xm.dtb

为什么我们不能使用其他地址?beagle board xm的数据表中指出,beagle board中的DRAM地址从0x8000000开始,那么为什么不选择任何地址呢

为什么我们不能在某个地址加载uImage,然后在128MB之后按照文档中的建议加载dtb呢


从链接中引用:从RAM开始,安全位置就在128MiB边界的正上方。

头是0x40,所以内核最终位于0x80008000,一个4k页面边界。0x80008000只是一种约定,如果需要,可以更改地址,但需要相应地修改内核代码


头是0x40,所以内核以0x80008000结束,这是一个4k页面边界。0x80008000只是一种约定,如果需要,可以更改地址,但需要相应地修改内核代码


您的标题与文本不匹配。标题似乎是指U-Boot的加载位置,而文本询问的是uImage和FDT blob。FWIW将uImage放置在0x80007fc0不是一个好主意。是的,这将zimage放置在一个好的地址(即0x80008000)。但是这是内核的起始地址,zImage仍然需要解压缩,这就是为什么Russel King建议zImage应该加载到0x8000以上,“以避免在解压缩之前需要重新定位,这将使启动过程稍微加快。”您的标题与文本不符。标题似乎是指U-Boot的加载位置,而文本询问的是uImage和FDT blob。FWIW将uImage放置在0x80007fc0不是一个好主意。是的,这将zimage放置在一个好的地址(即0x80008000)。但这是内核的起始地址,zImage仍然需要解压缩,这就是为什么Russel King建议zImage应该加载到0x8000以上,“以避免在解压缩之前需要重新定位,这将使引导过程稍微加快。”