linux下利用dnw烧写文件

感谢牛人的分享,linux下利用dnw烧写文件 如果在ubuntu下搞开发,又要回到windows下用dnw下载文件,的确很烦人,下面就是解决的方法。 1. 下载Linux下DNW的PC端USB驱动和写入工具 下载地址: http://www.mak-blog.com/download/dnw\_linux.tar.gz 文件名: dnw_linux.tar.gz 2. 编译PC端USB驱动和写入工具 2.1 解压缩

$ tar xzvf /path/to/dnw_linux.tgz

有以下文件 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

加载后用dmesg命令可以看到模块已经成功加载 [ 238.007970] secbulk:secbulk loaded [ 238.009101] usbcore: registered new interface driver secbulk 2.3 编译dnw写入工具

$cd dnw
$gcc -o dnw dnw.c

编译成功后生成可执行档dnw 3 使用DNW下载 3.1 启动开发板,进入kermit,并将开发板和PC用USB电缆连接,先加载secbulk驱动: 3.2 当出现“USB host is connected. Waiting a download.”时,在PC端Linux上用dnw工具写入要下载的文件 切换到root权限,执行dnw下载.

$./dnw /path/to/what/you/want/download

写入完成后提示成功 100% xxxxxxx bytes OK 如果发现速度太慢了,可以修改缓冲区的大小。在源码中 发现是#define BULKOUT_BUFFER_SIZE 32所设定的值太小了。 改为#define BULKOUT_BUFFER_SIZE 512后可发现速度快了很多。” 改了缓冲区大小之后,速度会快很多,设多少自己把握。 原文地址:http://blog.chinaunix.net/u3/93598/showart_2133626.html