编译、连接好u-boot-nand.bin首先想到是如何下载到OK6410上,有3种方法:
(1)dnw方法
(2)tftp方法
(3)sd卡方法
3种方法各有优点和缺点,下面逐一介绍:
一、dnw方法
烧写的过程:
① usb线和串口通信线连接pc机和目标板;
② 此时目标板是空的,需要设置sd卡启动,事先做好的sd卡启动的uboot,这样目标板的uboot就起来了;
③ 在PC端通过dnw软件操作目标板的uboot,输入命令 # dnw 50008000 ;
这句话意思是启动目标板的usb连接并设置目标板接收USB数据的内存起始地址为0x50008000
④ PC端dnw软件:安装好驱动,再发送u-boot.bin文件到目标板;
这里发送文件是指发到目标板的内存中,起始地址是0x50008000,注意,此时写到SDRAM中,并没有写到目标板的nand flash
⑤ 把目标板SDRAM中的u-boot.bin文件写到rand flash;
⑥ 这里目标板的nand flash里已经烧写好u-boot.bin了,关掉目标板,再设置rand启动就可以了。
代码过程如下:
// SD卡启动
SMDK6410 # dnw 50008000
OTG cable Connected!
Now, wating for DNW to transmit data
// 选择发送的u-boot-nand.bin
Down Done!! Down Address: 0x50008000, Download Filesize:0x30000
Checksum is being calculated.
Checksum O.K.
SMDK6410 # nand erase 0 100000
SMDK6410 # nand write.uboot 50008000 0 100000 //write(.uboot是参数不能改,且只在sd-boot中实现)
// nand 启动
二、tftp方法
需要下载tftp32应用程序,下载链接为http://tftpd32.jounin.net/tftpd32_download.html
将文件放入Current Directory目录中,插好网线,确保在一个网段
命令如下:
tftp 50008000 u-boot-nand.bin
nand erase.chip
nand write.uboot 50008000 0 0
复位,nand启动。
三、sd卡方法
暂且不讲。