该补丁实现的功能如下:
1.支持norflash,成功识别,并无测试读写(读者可自行测试);
2.从nandflash启动,实现自拷贝;
3.支持dm9000网卡,并增加TFTP界面方便下载;
4.支持yaffs文件系统的下载(手动下载请自行跳过第一个好块,暂时没时间修改代码);
5.支持开机画面和LCD控制台(鸡肋功能)。
6.启动界面如下:
U-Boot 2012.07 (Oct 19 2012 - 17:04:34) FCLK: 200 MHz HCLK: 100 MHz PCLK: 50 MHz DRAM: 64 MiB Flash: 4 MiB NAND: 256 MiB Video: 320x240x16 14kHz 53Hz Net: dm9000 Hit any key to stop autoboot: 0 ##### tftp menu for SMDK2440 ##### [1] Download u-boot.bin to Nand Flash [2] Download uImage to Nand Flash [3] Download root_yaffs2to Nand Flash [4] Download u-boot.bin to SDRAM &Run [5] Download uImage to SDRAM &Run [b] Boot the system [r] Reboot u-boot [q] Quit from menu Enter your selection: q SMDK2440#
uboot的最新版本的移植要注意如下几点:
1.uboot的自拷贝分为两阶段。
第一阶段拷贝到指定的SDRAM地址(链接地址),这部分是需要自己实现的;
这里要注意的是要把自拷贝代码放在nandflash的前4k中,方法是修改u-boot.lds。
.text : { __image_copy_start = .; CPUDIR/start.o (.text) board/samsung/smdk2440/libsmdk2440.o (.text) *(.text) }
第二阶段拷贝到uboot自己计算得出的地址,这部分是不需要做任何修改的。
2.修改配置文件位置是./boards.cfg。
smdk2410 arm arm920t - samsung s3c24x0 smdk2440 arm arm920t - samsung s3c24x0
3.修改交叉编译链的位置是./arch/arm/config.mk。
#CROSS_COMPILE ?= arm-linux-
CROSS_COMPILE ?= arm-unknown-linux-gnueabi-
4.修改链接地址的位置是include/configs/smdk2440.h。
#define CONFIG_SYS_TEXT_BASE 0x31000000 #define CONFIG_SYS_LDSCRIPT "board/samsung/smdk2440/u-boot.lds"
补丁使用方式:
cd u-boot-2012.07 patch -p1 < [补丁绝对地址] make smdk2440_config make