同时支持S3C2410、S3C2440、s3c6410同时支持OpenJTAG、并口JTAG、支持所有Nor、Nand Flash的烧写工具oflash发布,并口JTAG分dongle、wiggler两种,如果不确定是哪种可以都试试。
一.windows版本:oflash.exe
把FTD2XX.dll放到C:\WINDOWS\system32目录下,
或是放在oflash.exe同一个目录下。
二、linux版本:oflash
使用方法(注意:在Linux下前面oflash前要加上sudo):
1. 直接运行oflash,按照提示选择JTAG、CPU、NAND或NOR、读或写
2. oflash <要烧写的文件>
3. 使用配置文件,建一个名为cfg.txt的文件,下面是一个例子:
# 说明:"#"号开头表示注释
# 每个配置占一行,每行有6个参数,分别表示:JTAG类型、CPU类型、Flash类型、读写类型、偏移地址、文件
# 可以在配置文件里写多个配置用来把不同的文件写到不同的Flash、不同的偏移地址去
#jtag(0:openjtag, 1:dongle并口, 2:wiggler并口) cpu(0:s3c2410, 1:s3c2440, 2: s3c6410) flash(0:nand,1:nor) read/write(0:write, 1:read) offset file
1 1 1 0 0 u-boot.bin
1 1 0 0 0 leds.bin
4. oflash -f<其他名字的配置文件>
5. 仿照配置文件的方式,把配置项直接放在oflash命令后面,比如:
oflash 0 1 1 0 0leds_nor.bin //通过OpenJTAG把leds_nor.bin烧到S3C2440的Nor flash上
oflash 1 1 0 0 0leds_nand.bin //通过dongle并口把leds_nand.bin烧到S3C2440的Nand flash上
三、使用并口工具:
将并口接线,进入命令行cmd (oflash安装见韦东山手册)
CdF:\Embedded\S3C2440\hardware
oflash leds.bin
进入oflash 依次选择:2 1 0 0 0
四、使用openjtag:
接openjtag,进入命令行cmd (oflash安装见韦东山手册)
CdF:\Embedded\S3C2440\hardware
oflash leds.bin
进入oflash 依次选择:0 1 0 0 0
注意代码中设置的波特率,secureCRT中的波特率按这个来
五、使用nor flash上的uboot:
接openjtag,将拨码开关拨至nor flash,进入命令行cmd (oflash安装见韦东山手册)
CdF:\Embedded\S3C2440\hardware
oflash leds.bin
进入oflash 依次选择:0 1 1 1 0 拔掉openjtag 接上USB-COM线,打开secureCRT,上电,空格进入uboot
六、使用tftp:
拨至nor flash ,在uboot里按q ,print
set ipaddr(随便设,与pc和虚拟机同网段) set serverip(虚拟机ip) save 接网线 ping
tftp 30000000leds.bin(不需指定目录)
裸机程序用这两句:
nand erase bootloader
nand write 30000000 bootloader
内核的话用这两句:
nand erase kernel
nand write.jffs2 30000000 kernel
使用nfs:
前提:将虚拟机中nfs文件夹挂接到开发板
mount -t nfs -onolock,vers=2 192.168.1.106:/home/caihuanming/nfs /mnt
若没有设置网络,还要照上面tftp设置网络
nfs 30000000192.168.1.106:/home/caihuanming/nfs/leds.bin
nand erasebootloader
nand write30000000 bootloader
七、使用Uboot烧写和Windows平台dnw:
进入uboot,选择n ,接两根USB线,拨至nor flash ,烧写完毕断电,拨为nand flash ,开启
八、在Linux下使用dnw和u-boot烧写系统
由于开发板USB COM1口接Windows和虚拟机不能同时接这两个平台,所以在打开Windows上SecureCRT要将虚拟机Linux断开USB链接( ),让Windows链接USB( ),继而可以打开SecureCRT (COM15口),打开后进入u-boot菜单,选择k(烧写内核) 显示USB host is connected. Waiting a download.后可以将Windows断开USB链接,让虚拟机链接USB,然后执行命令:root@ubuntu:/home/caihuanming/loading/bin# sudo dnw uImage_4.3(uImage_4.3在当前目录下)
然后提示:DNW usb device found!
虚拟机:
DNWusb device found!
Sizeof file: 1848732 byte(s)
Addressof bootloader to receive data: 0x30000000
Tx:1848742/1848742, Percentage: 100.0%, Speed: 403.0KB/s, Time: 4.5S
U-boot:
Now, Downloading[ADDRESS:30000000h,TOTAL:1848742]
RECEIVED FILESIZE: 1848742 (601KB/S, 3S)
NAND erase:device 0 offset 0x60000, size 0x200000
Erasing at0x240000 -- 100% complete.
OK
NAND write:device 0 offset 0x60000, size 0x1c359c
Writing data at0x223000 -- 100% complete.
1848732 bytes written: OK
此时内核烧写成功。
当前目录为:/home/caihuanming/loading/bin :
九、利用u-boot烧写:
① 烧写内核:
a. 在u-boot菜单界面输入“k”;
b. 在主机上执行sudo dnw uImage_4.3;
c. 在u-boot界面即可看到下载、烧写的提示信息。
② 烧写YAFFS文件系统映象:
a. 在u-boot菜单界面输入“y”;
b. 在主机上执行sudo dnw fs_qtopia_ts.yaffs2;
c. 在u-boot界面即可看到下载、烧写的提示信息。
③ 烧写JFFS2文件系统映象:
a. 在u-boot菜单界面输入“j”;
b. 在主机上执行sudo dnw fs_qtopia_ts.jffs2;
c. 在u-boot界面即可看到下载、烧写的提示信息。
④ 下载文件的SDRAM并运行:
a. 在u-boot菜单界面输入“d”;
b. 在主机上执行sudo dnw leds_0x31000000.bin 0x31000000;
c. 在u-boot界面即可看到下载、运行信息:u-boot会把接收到的文件放在步骤b设置的地址里,然后跳转去执行它。
⑤ 更新u-boot:
a. 在u-boot菜单界面输入“n”;
b. 在主机上执行sudo dnw u-boot.bin;
c. 在u-boot界面即可看到下载、烧写的提示信息。
EasyOpenJTAG和OpenJTAG虽然可以烧写NorFlash和NandFlash,但也只仅限于烧写裸板程序,不能烧写内核、文件系统。因此,dnw、TFTP、NFS这几种下载方式也是需要掌握的。
uboot烧写完成后,开发板就可以通过串口向外输出打印信息了。
配件中有两根一样的USB线。这两根线一根接USB-COM,用来将开发板的输出信息显示到电脑上,完成电脑和开发板的交互,这个串口用处很大。
另外一根接在相邻的miniUSB中,dnw烧写文件就是用的这个接口,下载速度5~6M/s,速度很快,跟用网线下载差不多,新手用dnw烧写是极好的。