本文实验环境:
1. windows 7(64bit)
2. JZ2440(V2)
使用 u-boot 烧写内核,一般有两种方法。
1. 通过USB下载功能
2. 通过TFTP功能
通过USB下载功能烧写内核
操作步骤:
(1)连接板子和PC(串口+USB)
(2)进入u-boot的菜单,如下图
(3)输入
k
,回车
此时显示
USB host is connected. Waiting a download.
(4)打开
dnw.exe
软件
(5)选择【USB Port】–>【Transmit】,选择要烧写的内核文件,比如
uImage
。
这时 u-boot 命令行会显示
查看分区可以用命令
mtd
返回结果是:
根据以上信息可以判断:首先内核文件被传输到了内存0x3000_0000处,之后Nand Flash 的 kernel 分区被擦除,最后是内核文件被写入Nand Flash 的 kernel 分区。
用tftp下载内核并烧写
操作步骤:
(1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC
如果搞不定,可以参考我的博文
http://blog.csdn.net/longintchar/article/details/71250060
(2)启动软件tftpd32,选择内核文件所在的目录
(3)假设内核镜像是
uImage
,在u-boot的命令行,输入
tftp 30000000 uImage
其中3000_0000(十六进制)表示内存地址.
结果如下图:
(4)擦除Nand Flash 的 kernel 分区
nand erase kernel
(5)把内存中的内核文件写入Nand Flash 的 kernel 分区
nand write.jffs2 30000000 kernel