|
uclinux-2.4.24-uc0支持44B0X开发板----zImage的问题
如果我们参考MBA44的配置,会发现编译出来的zImage不能够用,因为MBA44本来也没有配置要生成zImage。
首先我们配置arch/armnommu/boot/Makefile:
ifeq ($(CONFIG_BOARD_SAMPLE44B0X),y)
ZTEXTADDR = 0x0c300000
ZRELADDR = 0x0c008000
endif
ZTEXTADDR是zImage要被copy到哪里执行,我们的bootloader会负责把它搬过去。
ZRELADDR是指kernel要被解压缩到哪里,解压缩完成后会跳转到ZRELADDR。
另外,arch/armnommu/boot/compressed/head.S中也要修改,主要是屏蔽掉mrc指令,和cache_*函数的调用:
......
#ifdef CONFIG_CPU_WITH_CACHE
#ifndef CONFIG_BOARD_SNDS100
#ifndef CONFIG_BOARD_SAMPLE44B0X
mrc p15, 0, r6, c0, c0 @ get processor ID
bl cache_on
#endif
#endif
......
#ifdef CONFIG_CPU_WITH_CACHE
#ifndef CONFIG_BOARD_SAMPLE44B0X
bl cache_clean_flush
#endif
#endif
......
#ifdef CONFIG_CPU_WITH_CACHE
#ifndef CONFIG_BOARD_SAMPLE44B0X
bl cache_clean_flush
bl cache_off
#endif
#endif
也许这个问题是因为对44B0X不应该配置CONFIG_CPU_WITH_CACHE。 |
|