如何更改U-Boot内存映射

时间:2012-02-02 06:31:33

标签: linux embedded bootloader u-boot

MS104-SH4上的U-Boot(2009.03)具有如下所示的RAM存储器映射。

0x8c000000不使用(4kB)
0x8c001000 for Linux kernel&根文件系统(3MB)
用于Linux进程的0x8c400000(28MB)

对我来说,3MB用于Linux内核和根文件系统太小,因为 Linux内核& ramdisk分别有1MB和3.5MB。所以我想 更改以上内存映射,例如如下所示。

0x8c000000不可使用(4KB)
0x8c001000 for Linux kernel&根文件系统(16MB)
用于Linux进程的0x8cf60000(16MB)

在我的猜测中,我必须修改uboot源代码,但找不到位置 我应该修改。有人告诉我是否可以修改u-boot内存映射? 如果是,请告诉我该怎么做。谢谢你的帮助!

我在How to find the memory map of a device?上发现了一个类似的问题,但是我的SH4 iomem是空的(0大小),所以看起来像其他主题。

1 个答案:

答案 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执行内存映射初始化。