简述
案例在JZ2440开发板上完成,本例通过NorFlash中U-boot进行NandFlash裸板程序下载。上篇文章讲述的是采用epo烧写器直接完成程序对NandFlash烧写。而当板子上的NorFlash有U-boot启动程序时,可以通过U-boot进行烧写,但前提需要DNW软件进行程序USB下载,或者tftpd软件进行程序网络下载,下载后由U-boot完成程序烧写。下面对两种下载方法进行实验。
准备条件
- SecureCRT串口调试软件
- DNW文件传输软件(USB传输,需要安装好驱动)
- tftpd文件传输软件(网络传输)
- U-boot启动程序(百问网改版的uboot程序)
- 需要烧录程序的二进制文件(百问网提供的leds.bin)
U-boot启动程序烧写
启动程序需下载到NorFlash中,此步骤需要epo或者Jlink支持,烧写方法和上篇文章一样,只是过程中将参数改为NorFlash烧录即可。有了U-boot就可以通过它完成Nand的程序烧写,这里不赘述。
DNW方式下载与烧写
DNW用于USB文件传输的一种工具,使用此软件时需要记得安装好驱动。
1.准备好已经下载到NorFlash中的U-boot程序。USB线接开发板usb口<—>PC。
2.打开SecureCRT串口调试软件,拨到NOR启动开机。键入空格进入菜单页。
3.键入”n”(Download u-boot to Nand Flash:将程序下载到Nand Flash),进入Waiting a download.
4.打开DNW软件,软件顶端应显示USB:OK。才表示识别带usb设备。
5.软件上选择:USB port–》Transmit–》选择要下载的.bin程序文件。
6.完成下载与烧写。拨到Nand启动,重上电或复位观察现象。
TFTP方式下载与烧写
(注:此实验最好关闭电脑的防火墙,否则可能产生很多未知的错误)
采用tftp协议进行网络传输,fttp协议为TCP/IP协议族中的一种,广泛用于文件传输功能。用TFTP下载烧写前提需要建立一个局域网的环境下,对开发板和主机进行互联,从而进行文件传输。(注:tftp传输只起到下载功能,烧写功能还需要U-boot命令完成烧写)
步骤如下:
1.准备好已经下载到NorFlash中的U-boot程序。
2.静态更改PC端有线网卡IP如下(设置成其他也可以,只要保证同一网段):
IP:192.168.2.6(此作为主机服务器IP)
子网掩码吗:255.255.255.0
网关:192.168.2.1
DNS:192.168.2.1
3.网线连接开发板<—->PC。USB串口线连接开发板<—–>PC。
4.打开SecureCRT串口调试软件,和tftpd网络传输软件,并设置好tftpd下需要下载.bin程序文件路径,以及IP设置为192.168.2.6(如果没有此IP可以先忽略,因为U-BOOT指令还没执行,网卡还没识别到,若识别到网卡,软件上的IP会自动改)。
5.开发板拨至Nor启动,SecureCRT键入空格进入菜单页。
6.SecureCRT键入“q”退出菜单,开始进行U-boot指令。
7.更改开发板(客户端)ip。键入命令:print(查看环境变量)
8.查看更改主机服务器IP(serverip),和设备ip(ipaddr),设备网关(gatewayip),设备掩码(netmask)。键入以下命令进行更改:
set serverip 192.168.2.6(更改服务器IP)
set ipaddr 192.168.2.5(更改设备IP,必须得和服务器ip同一网段)
更改网关和掩码同样 用set命令,网关和掩码与服务器一致
键入save(保存更改的配置)
键入ping 192.168.2.6看能否和服务器ping通,若ping通返回is alive
9.键入命令:tftp 30000000 leds.bin(将程序通过tftp下载到SDRAM的30000000 地址中,30000000 为SDRAM起始地址)
8.键入命令:nand erase bootloader (烧写前需要擦除bootloader 分区内存)
9.键入命令:nand write 30000000 bootloader (将下载的程序烧写到nandflash的bootloader 分区)
10.完成烧录。拨至NAND启动,复位观察现象。
(注:查看分区情况,可用mtd(或mtdparts)指令)