在我们进行功能的验证的时候,实际上并不需要将物理地址映射到虚拟地址的,特别是需要进行中断处理或者写一些逻辑函数的时候,都需要物理地址,所以我们在进行裸板的功能验证的时候,可以将uboot里面的mmu功能屏蔽掉。
屏蔽uboot里面的MMU方法如下(只针对tiny4412的1306版本的uboot):
需要改动的地方有两个:
改动1:
路径:uboot_tiny4412/include/configs/tiny4412.h
将“#define CONFIG_ENABLE_MMU”改为“#undef CONFIG_ENABLE_MMU”
改动2:
路径:uboot_tiny4412/board/samsung/tiny4412/config.mk
将“CONFI_SYS_TEXT_BASE = 0xc3e00000”改为“CONFI_SYS_TEXT_BASE = 0x43e00000”
重新配置:
book@book-virtual-machine:/work/tiny4412/uboot_tiny4412$ make tiny4412_config
重新编译:
book@book-virtual-machine:/work/tiny4412/uboot_tiny4412$ make
可以在system.map里面查看是否已经变成物理地址,如果是,则修改成功
book@book-virtual-machine:/work/tiny4412/uboot_tiny4412$ vi System.map
重新制作SD卡,参考: