2012-02-02 31 views
7

MS104-SH4上的U-Boot(2009.03)具有如下所示的RAM內存映射。如何更改U-Boot內存映射

0x8c000000未使用(4KB)
0x8c001000爲Linux內核&根文件系統(3MB)
0x8c400000爲Linux進程(28MB)

對於我來說,3MB的Linux內核&根文件系統太小因爲 Linux內核& ramdisk分別有1MB和3.5MB。所以我想 改變上面的內存映射,例如下圖所示。

0x8c000000未使用(4KB)
0x8c001000爲Linux內核&根文件系統(16MB)
0x8cf60000爲Linux進程(16MB)

在我的猜測,我要修改的uboot源代碼,但是無法找到我應該修改的位置 。有人告訴我是否可以修改u-boot內存映射嗎? 如果是,請告訴我該怎麼做。謝謝你的幫助!

我在How to find the memory map of a device?上發現了一個類似的問題,但是我的SH4 iomem是空的(0大小),所以看起來像其他主題。

回答

10

可以修改U-boot內存映射。你需要修改U-boot的源代碼。 U-boot/include/configs/<board_name.h>是您可以配置內存映射的地方。其中<board_name.h>是您的體系結構特定文件,並且有#define條目,您可以將其更改爲期望的值。 u-boot/arch/<architecture_name>/lib/board.c執行內存映射初始化。

+0

感謝您的快速回復,並解決了此問題! – 2012-02-03 00:03:52

+0

很高興聽到我幫助.. :) – 2012-02-03 08:17:43