Linux下编译程序之后再切换到Windows下下载程序。我受不了了。
首先说明一下我的环境:
笔记本安装的是 Ubuntu 9.10 – Karmic Koala
开发板是 mini2440
使用的usb转串口是HL-340 很普通的那种。 (网上搜索了一下,芯片用的是CH340,找驱动的时候就搜CH340)
首先将usb转串口连接到PC上。
通过dmesg命令可以查看USB转串口已经被PC识别。
我们要用到的工具是C-kermit 和 dnw for linux。其中ckermit是串口连接程序。而dnw for linux 是用来向开发板下载程序的。
首先我们安装kermit,kermit并不是Ubuntu默认安装,我们可以使用sudo apt-get install ckermit来安装kermit。
下载完成之后还要对其进行配置。
vi /etc/kermit/kermrc
set line /dev/ttyUSB0 这里填写通过dmesg产看到的设备名。上图中红线部分。attached to ttyUSB0 说明已经附加到了ttyUSB0这个设备上了。
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
配置完以后的样子
使用以下命令:connect
就可以使用串口了。
切换:按下Ctrl + \ ,再按c 就跳回kermit。跳回串口控制,可以输入c,即connect命令。
上图是使用kermit连接开发板。
接着说一下dnw for linux 的使用。
dnw for linux下载在Linux公社的1号FTP服务器里,下载地址:
FTP地址:ftp://www.linuxidc.com
用户名:www.linuxidc.com
密码:www.muu.cc
在 2011年LinuxIDC.com\3月\Linux Fedora 14下利用DNW烧写文件
下载方法见 http://www.linuxidc.net/thread-1187-1-1.html
下载回来解压。
目录如下:
dnw_linux/
dnw_linux/secbulk/
dnw_linux/secbulk/Makefile
dnw_linux/secbulk/secbulk.c
dnw_linux/dnw/
dnw_linux/dnw/dnw.c
其中secbulk.c是PC端USB驱动, dnw.c是写入工具
2.2 编译并加载secbulk.c内核模块
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
编译成功后在当前目录下可以看到secbulk.ko
用insmod命令加载模块,这需要root权限
$sudo insmod ./secbulk.ko
编译dnw写入工具
$cd dnw
$gcc -o dnw dnw.c
编译成功后生成可执行档dnw
到此就可以下载程序了。
将开发板拨到Nor flash启动,在vi中选择某个下载项。当出现“USB host is connected. Waiting a download.”时,在PC端Linux上用dnw工具写入要下载的文件
$sudo ./dnw /path/to/what/you/want/download
下图是我还原nandFlash.bin时的截图。