使用u-boot的USB下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记06

时间:2024-06-01 10:46:41

本文实验环境:
1. windows 7(64bit)
2. JZ2440(V2)

假设板子的Nor Flash上已经烧好了u-boot,如果我想利用u-boot的USB下载功能,把一个裸板程序烧写到Nand Flash,应该如何操作?

在操作之前,我们必须作如下准备:
(1)准备好工具软件dnw.exe,它的作用是通过USB把要烧写的文件发送给板子
(2)板子和PC通过USB线连接,且PC端安装了可供dnw.exe调用的USB驱动

对于(2),如果你的操作系统是Win7-64bit,那么很可能安装驱动失败。解决方法可以参考我的博文
http://blog.****.net/longintchar/article/details/71102073

烧写的操作步骤如下:
(1)连接板子和电脑,用两根USB线(其中一根是USB转串口,另一根用来传输文件)
(2)打开串口工具,从Nor Flash启动板子,进入u-boot的菜单,如下图

100ask Bootloader for OpenJTAG

[n] Download u-boot to Nand Flash
[o] Download u-boot to Nor Flash
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
[b] Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection:

(3)输入“n”并回车(其实这里的描述有误导,不一定是u-boot,也可以是其他裸板程序)。之后会看到

USB host is connected. Waiting a download.

(4)打开dnw.exe,如下图

使用u-boot的USB下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记06

(5)选择【USB Port】–>【Transmit】,选择要烧写的文件,等待传输完成。

这时候,串口会显示:

Now, Downloading [ADDRESS:30000000h,TOTAL:18322]
RECEIVED FILE SIZE: 18322 (17KB/S, 1S)
NAND erase: device 0 offset 0x0, size 0x40000
Erasing at 0x20000 – 100% complete.
OK
NAND write: device 0 offset 0x0, size 0x4788
Writing data at 0x4000 – 100% complete.
18312 bytes written: OK

说明烧写完成了。

【完】