一、支持nand读写
移植 uboot到S3C2440(移植过程一)新建单板+修改时钟+SDRAM+UART(←点击查看)过程中,为了避免当时编译出现的错误,我们屏蔽了
include/configs/smdk2440.h:
//#defineCONFIG_CMD_NAND
(1)取消#defineCONFIG_CMD_NAND的注释,编译出现如下错误:
(2)因为include/configs/smdk2440.h中:
CONFIG_S3C2410改为了CONFIG_S3C2440,所以下面的定义没了
(3)分析下nand是如何发命令 数据 地址的。
CLE高:命令
ALE高:地址
(4)把drivers\mtd\nand\s3c2410_nand.c复制为s3c2440_nand.c
修改同目录下makefile
修改smdk2440.h
(5)
程序流程分析:
(6)替换函数名字
(7)删除:
(8)初始化相关
(9)更新编译
把nor上的uboot拷贝到nand上:
nand erase 0 80000
nand write 0 0 80000
nand read 30000000 0 80000
cmp.b 0 30000000 80000
zip -r -q -o u-boot-2012.04.01nand.zip /work/system/u-boot-2012.04.01 (压缩备份)
二、支持DM9000网卡
2440有内存控制器,外部接有网卡。
Dm9000接在:
发出地址在范围内 就会选通芯片
(7)修改内存对网卡的支持:
(8)下载启动
(9)还是没打印出网卡信息
eth_initialize
board_eth_init
cs8900_initialize
(10)设置网络信息后,启动
*** ERROR: `ethaddr' not set
set ipaddr 192.168.1.17
set ethaddr 00:0c:29:4d:e4:f4
set serverip 192.168.1.111
zip -r -q -o u-boot-2012.04.01dm9000.zip /work/system/u-boot-2012.04.01 (压缩备份)