本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)
使用 u-boot 烧写内核,一般有两种方法。 1. 通过USB下载功能 2. 通过TFTP功能
操作步骤: (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 分区。
操作步骤: (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