配置时钟:include/configs/TQ2440
仿照2410的时钟来修改2440的时钟
首先修改TQ2440.h文件指定芯片和开发板
#define CONFIG_ARM920T /* This is an ARM920T Core */
#define CONFIG_S3C24X0 /* in a SAMSUNG S3C24x0-type SoC */
#define CONFIG_S3C2410 /* specifically a SAMSUNG S3C2410 SoC */
#define CONFIG_SMDK2410 /* on a SAMSUNG SMDK2410 Board */
改为
#define CONFIG_ARM920T /* This is an ARM920T Core */
#define CONFIG_S3C24X0 /* in a SAMSUNG S3C24x0-type SoC */
#define CONFIG_S3C2440 /* 修改为自己用的2440芯片*/
#define CONFIG_TQ2440 /* 修改为自己的开发板*/
修改命令提示符
#define CONFIG_SYS_PROMPT "SMDK2410 # "
改为
#define CONFIG_SYS_PROMPT "TQ2440 # "
屏蔽不需要的硬件支持,以及暂时不用支持的功能:如网络,
文件系统屏蔽
#if 0
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_PARTITIONS
#define CONFIG_YAFFS2
#define CONFIG_RBTREE
#enif
USB屏蔽
#if 0
#define CONFIG_USB_OHCI
#define CONFIG_USB_OHCI_S3C24XX
#define CONFIG_USB_KEYBOARD
#define CONFIG_USB_STORAGE
#define CONFIG_DOS_PARTITION
#endif
网卡屏蔽,uboot自带的是CS8900网卡,板子用的是9000网卡
#if 0
#define CONFIG_CS8900 /* we have a CS8900 on-board */
#define CONFIG_CS8900_BASE 0x19000300
#define CONFIG_CS8900_BUS16 /* the Linux driver does accesses as shorts */
#endif
屏蔽一些命令
#if 0
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define CONFIG_CMD_PING
#define CONFIG_CMD_REGINFO
#define CONFIG_CMD_USB
#endif
从链接脚本 arch/arm/cpu/u-boot.lds中可以看出,CPUDIR/start.o (.text*)从这里可以知道 u-boot 执行的第一个文件是 arch/arm/cpu/arm920t/start.S
修改start.S文件