Зачем загружать uboot по определенному адресу в beagleoboard?
В Beagle Board воспитании мы используем этот конкретный адрес ниже, чтобы загрузить uImage и dtb?
loaduImage = fatload mmc 0: 1 0x80007fc0 uImage
loadfdt = fatload mmc 0: 1 $ {dtaddr} omap3-beagle-xm.dtb
Почему мы не можем использовать какой-то другой адрес? В техническом описании платы beagle указано, что адрес DRAM в плате beagle начинается с 0x80000000, так почему бы не выбрать какой-либо адрес?
Почему мы не можем загрузить uImage по какому-то адресу, а после 128 МБ загрузить dtb, как это предлагается в https://www.kernel.org/doc/Documentation/arm/Booting документации.
Цитирование по ссылке: Безопасное место находится чуть выше границы 128 МБ с момента запуска ОЗУ.
1 ответ
Заголовок равен 0x40, поэтому ядро заканчивается размером 0x80008000, граница страницы 4 КБ. 0x80008000 - это просто соглашение, и если вы хотите, вы можете изменить адрес, но вам нужно соответствующим образом изменить код ядра.
http://processors.wiki.ti.com/index.php/HOWTO_Change_the_Linux_Kernel_Start_Address