2012-02-02 10 views
7

MS104-SH4'teki U-Boot (2009.03), aşağıda gösterilen RAM bellek haritasına sahiptir. kullanım içinU-Boot bellek haritası nasıl değiştirilir

0x8c000000 Değil (4KB)
Linux çekirdeği & kök dosya sistemi (3MB) Linux süreci (28MB) Benim için

için
0x8c400000 için 0x8c001000, 3MB Linux çekirdeği & kök dosya sistemi için çok olduğu küçük çünkü Linux çekirdeği & ramdisk sırasıyla 1MB ve 3,5MB vardır. Bu yüzden, örneğin aşağıda gösterilen gibi bellek haritasının üstünü değiştirmek istiyorum. kullanım için

0x8c000000 Değil (4KB) Linux çekirdeği & kök dosya sistemi (16MB) Linux süreci (16MB) Benim tahminim ise

için
0x8cf60000 için
0x8c001000, ben uboot kaynak kodunu değiştirmek zorunda ama I'in değiştirmesi gereken yeri bulamıyorum. Birisi bana u-önyükleme bellek haritasını değiştirmek mümkün olup olmadığını söyler mi? Evet ise, lütfen nasıl yapılacağını da söyleyin. Yardım ettiğin için teşekkür ederim!

How to find the memory map of a device? ile benzer bir soru buldum, ancak SH4 iomem boş (0 boyut) boş olduğundan diğer konuya benziyor.

cevap

10

U-önyükleme belleği eşlemesini değiştirmek mümkündür. U-boot'in kaynak kodunu değiştirmeniz gerekiyor. U-boot/include/configs/<board_name.h>, bellek haritasını yapılandırabileceğiniz yerdir. <board_name.h>, mimarinize özel bir dosyadır ve istediğiniz değerlere değiştirebileceğiniz #define girişlerine sahiptir. u-boot/arch/<architecture_name>/lib/board.c, bellek haritası başlatmayı gerçekleştirir.

+0

Hızlı cevabınız için teşekkürler ve bu soru çözüldü! –

+0

Yardım ettiğim için sevindim .. :) –