2012-02-02 8 views
7

U-Boot (2009.03) na MS104-SH4 ma mapę pamięci RAM pokazaną poniżej.Jak zmienić mapę pamięci U-Boot

0x8c000000 Nie stosować (4kB)
0x8c001000 dla Linux kernel & główny system plików (3 MB)
0x8c400000 dla procesu Linux (28MB)

dla mnie, 3MB dla jądra systemu plików & korzenia Linux jest zbyt mały ponieważ jądro Linuksa & ramdisk ma odpowiednio 1MB i 3,5MB. Tak więc chciałbym, aby zmienić powyżej mapy pamięci, na przykład jak pokazano poniżej.

0x8c000000 Nie stosować (4KB)
0x8c001000 dla Linux kernel & główny system plików (16MB)
0x8cf60000 dla procesu Linux (16MB)

W moim przypuszczeniem, muszę zmodyfikować kod źródłowy Uboot, ale nie mogę znaleźć miejsca, w którym powinienem zmodyfikować. Czy ktoś mi mówi, czy można zmodyfikować mapę pamięci u-boot? Jeśli tak, proszę, powiedz mi, jak to zrobić. Dzięki za pomoc!

Znalazłem podobne pytanie na How to find the memory map of a device?, ale mój iomem SH4 jest pusty (rozmiar 0), więc wygląda jak inny temat.

Odpowiedz

10

Istnieje możliwość modyfikacji mapy pamięci U-boot. musisz zmodyfikować kod źródłowy U-boot. U-boot/include/configs/<board_name.h> to miejsce, w którym można skonfigurować mapę pamięci. gdzie <board_name.h> jest plikiem specyficznym dla twojej architektury i zawiera wpisy #define, które możesz zmienić na pożądane wartości. u-boot/arch/<architecture_name>/lib/board.c Wykonaj inicjalizację mapy pamięci.

+0

Dziękujemy za szybką odpowiedź i to pytanie zostało rozwiązane! –

+0

Cieszę się, że pomogłem .. :) –