U-boot-2009.03移植之十三:第三阶段——支持DM9000网口芯片

来源:互联网 发布:淘宝怎么发短信给客户 编辑:程序博客网 时间:2024/06/06 05:43

同在mini2440.h里,修改Hardware drivers的定义:
/*
 * Hardware drivers
 */
//#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */
//#define CS8900_BASE  0x19000300
//#define CS8900_BUS16  1 /* the Linux driver does accesses as shorts */
#define CONFIG_DRIVER_DM9000 1
#define CONFIG_DM9000_BASE 0x20000300
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE+4)
#define CONFIG_DM9000_USE_16BIT
 
并确保#define CONFIG_CMD_NET  /* bootp, tftpboot, rarpboot */打开,设置相关TFTP操作的定义,如下:
 
#define CONFIG_BOOTDELAY 3
#define CONFIG_BOOTARGS "root=ramfs devfs=mount console=ttySA0,115200n81"
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
#define CONFIG_NETMASK          255.255.255.0
#define CONFIG_IPADDR  192.168.1.250
#define CONFIG_SERVERIP  192.168.1.100
#define CONFIG_BOOTFILE "zImage.img"
/*#define CONFIG_BOOTCOMMAND "tftp; bootm"*/
#define CONFIG_BOOTCOMMAND "tftp 0x30008000 zImage.img/; bootm 30008000"
 
到这里,make一下,你可以把zImage通过TFTP给BOOT 起来了。
注意zImage必须使用u-boot-1.3.4/toolsl里的mkimage加上文件头才能被u-boot boot起来,本人写了一个sh文件:
#!/bin/sh
mkimage -n 'linux-2.6.31' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage zImage.img