minis3c2440移植之uboot移植
(以下步骤适用于s3c2440开发板)
1、修改Makefile文件:
a.修改交叉编译宏(CROSS_COMPILE?=)修改为(CROSS_COMPILE?=arm-linux-);
tocore2440_config: unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t tocore2440 tocore
包含六个参数:$1. tocore2440 表示在include/configs/目录下必须包含tocore2440.h文件;$2. arm表示在主目录下包含lib_arm目录,在include/目录下包含asm_arm目录;$3.arm920t表示CPU型号,在cpu目录下包含arm920t目录;$4.tocore2440芯片型号;$5.厂商目录(if($5!=NULL),则在board目录下有$5/$4目录,else,则在board目录下有$4目录);$6. s3c24x0表示在include/asm_arm/包含arch_ s3c24x0目录;
d.以上部分表示在移植U-boot前首先要添加开发板自己的配置头文件,并在board目录下建立自己的开发板目录,修改s3c24x0(cpu/arm920t/s3c24x0,include/asm_arm/archs3c24x0)文件,改为支持2440开发板,修改过程如下:
1)
2)
if (pllreg == MPLL)
return((CONFIG_SYS_CLK_FREQ * m * 2) / (p << s)); //得到2440开发板的频率
#endif
c.将get_HCLK()函数修改为2440支持,将原函数返回改为:
#if defined(CONFIG_S3C2440)
#else
#endif
d.修改time.c文件,添加宏定义#defined (CONFIG_S3C2440)(line33)
2、添加配置文件
2)注释2410宏定义:
//#define
//#define CONFIG_SBC2410X
#define CONFIG_S3C2440
#define CONFIG_TOCORE2440
#define CONFIG_TOCORE2440_LED
#define CONFIG_S3C2440_NAND_BOOT
4)注释CS8900网卡宏定义(在line72添加#if 0,在line76 添加#endif),添加DM9000网卡宏定义:
#define CONFIG_DM9000_USE_16BIT
#define CONFIG_DM9000_BASE
#define DM9000_IO
#define DM9000_DATA
#define CONFIG_DM9000_NO_SROM
#undef CONFIG_DM9000_DEBUG
#define CONFIG_NET_MULTI
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_PING
#define CONFIG_CMD_NAND
#define CONFIG_CMD_SAVEENV
#define CONFIG_BOOTDELAY
#define CONFIG_BOOTARGS "console=ttySAC0 root=/dev/nfs "