红联Linux门户
Linux帮助

Linux环境下安装dnw(for mini2440)

发布时间:2015-01-01 11:38:31来源:linux网站作者:istry

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命令。

接着说一下dnw for linux 的使用。

下载回来解压。

目录如下:

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