如果开发板上没有预装bootloader程序,那么可以通过JTAG进行烧写。常用的JTAG工具有并口JTAG,它的特点是便宜但是速度比较慢。
USB转JTAG、RS232串口二合一的工具OpenJTAG,非常适合没有并口、没有串口的笔记本。
OpenJTAG、并口JTAG的烧写软件都是oflash,这款软件同时支持S3C2410、S3C2440开发板,同时支持OpenJTAG、并口JTAG,支持所有型号的NorFlash和NandFlash。
Oflash既可以在Windows下也可以在Linux下使用,用法完全一样。
如果开发板上有u-boot,那么可以通过USB口、网口下载文件到开发板的内存里,然后使用u-boot的命令进行烧写。使用u-boot进行烧写的速度非常快。
JZ2440_V2开发板集成了串口转USB的功能,即:在S3C2440的串口0上接了一个USB串口芯片PL2303,使用时只要通过USB线连接开发板和电脑,就可以使用S3C2440的串口了,示意图如下:
开发板上有3个USB口:USBHOST,USBDEVICE,USB串口。位置如下图所示:
上图的“启动选择开关”是用来选择NORFLASH启动或NANDFLASH启动。开发拨到外侧是NORFLASH启动,拨到内侧是NANDFLASH启动。
第1 次使用开发板前,要先安装USB 串口驱动程序(PL2303_Prolific_DriverInstaller)双击运行即可。然后接上开发板的电源,按下开发的电源开关;
接着使用USB线连接开发板的“USB串口”和电脑;
最后,在电脑的设备管理器里确定USB串口是COM口,使用串口工具打开这个COM,设置波特率为115200,不使用流量控制,数据位为8,停止位为1。
这样,就可以在串口里操作开发板了。
首先,将开发板通过USB转232串口线与PC机连接,这时候咱们的linux系统自动安转了驱动程序,可以使用命令:dmesg 来查看安装驱动的信息:
dmesg
[1282.456874] usb 2-2.2: new full-speed USB device number 5 using uhci_hcd
[1282.712227] usb 2-2.2: New USB device found, idVendor=067b, idProduct=2303
[1282.712228] usb 2-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1418.334852] usb 2-2.2: pl2303 converter now attached to ttyUSB0
从上图可以看出咱们的串口设备是0
cat /proc/tty/drivers从上图可以看出咱们的串口设备是0
usbserial /dev/ttyUSB 188 0-511 serial
你也可以使用命令: ls -l /dev/ttyUSB*来查看相关的信息,如下图
azheng@ubuntu:~$ ls -l/dev/ttyUSB*
crw-rw---- 1 root dialout188, 0 6月 24 19:09 /dev/ttyUSB0
至此,我们已经顺利的将串口连接到Ubuntu系统上了,也查看到自己开发板连接的是USB转串口设备/dev/ttyUSB0,如果是普通的串口设备会是/dev/ttyS*.
我们在配置minicom的时候会用到:
http://blog.csdn.net/mybelief321/article/details/8987502
minicom配置:
如果想重新烧写bootloader,或是试验裸板程序,那么需要连接JTAG线。开发板配有并口的JTAG线,如果你的电脑没有并口,那么需要USB转JTAG工具,比如OpenJTAG。
下面两个图是接并口JTAG的示意图
如果开发板上没有bootloader,那么需要使用JTAG工具来烧写bootloader。
刚出厂的板子已经预先烧好了bootloader,启动开发板后能在串口里看到输出信息。使用bootloader来烧写,速度更快。
在Ubunut9.10下,无论是OpenJTAG,它们的驱动程序都无需自己安装。
在Windows下,烧写软件为oflash.exe;
在Linux下,烧写软件为oflash。它们的用法是一样的,只不过在Linux下,运行oflash命令时,要在前面要加上sudo。
oflash的用法如下:
1 直接运行oflash,按照提示选择JTAG、CPU、NAND或NOR、读或写
2 oflash <要烧写的文件>
3 使用配置文件,建一个名为cfg.txt的文件,下面是一个例子:
# 说明:"#"号开头表示注释
# 每个配置占一行,每行有6个参数,分别表示:JTAG类型、CPU类型、Flash类型、读写类型、偏移地址、文件
# 可以在配置文件里写多个配置用来把不同的文件写到不同的Flash、不同的偏移地址去
# (0:openjtag,1/2:并口) (0:s3c2410,1:s3c2440) (0:nand, 1:nor) (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上
注意:并口JTAG分dongle、wiggler两种,如果不确定是哪种可以都试试
JLink只支持烧写NorFlash,不支持烧写Nand Flash。要烧写Nand Flash只能按这几步操作:
1. 开发板设为Nor Flash启动(开发板有选择NorFlash或Nand Flash启动的开关)
2. 接好JLlink后,用JLink的软件J-Flash烧写特制的u-boot.bin到Nor Flash上去
3. 重启开发板,在串口里操作u-boot烧写Nand Flash
使用J-Flash烧写Nor Flash:
1. 准备工作:JLink的USB口接到电脑上,JLink的JTAG口用排线和开发板的JTAG口相连,开发板设为Nor Flash启动并上电
2. 启动J-Flash。
在J-Flash里操作:
(1)选择菜单“File-> Open -> Open Project…”,打开附件里的s3c2440.jflash。
图1打开S3C2440工程
(2)选择菜单“Target -> Connect”
图2 连接开发板
(3)选择菜单“File -> Open”,打开要烧写的二进制文件,比如u-boot.bin,并且在“Start address”里输入0。
图3 打开bin文件
(4)选择菜单“Target -> Auto”即可自动烧写。
开发板使用的u-boot功能强大,支持USB、网络下载;支持Nor Flash、Nand Flash烧写,支持JFFS2、YAFFS文件系统映象烧写。
如果开发板上已经有了u-boot,那么烧写整个系统将非常简单、快速。
光盘的bin目录下有u-boot.bin、uImage_4.3、fs_开头的文件系统映象,可以先通过JTAG工具使用oflash把u-boot.bin烧写到Flash(Nor、Nand均可)上,然后使用u-boot的命令烧写其他文件。
u-boot的启动时,立刻在串口工具上按住空格键,将出现如下菜单界面:
##### 100ask Bootloader for OpenJTAG #####
[n] Download u-boot to Nand Flash
[o] Download u-boot to Nor Flash // 如果是Nand 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
各菜单项的作用从名字上即可看出来,对于“Download”开头的菜单项,它用来启动USB下载,选择这些菜单项后,要在主机上使用DNW工具发送文件。
DNW工具有Windows、Linux版本.