开发环境:ubuntu12.04+vmware
1:先解压dnw_for_linux.tar.gz(压缩包如附件)
dnw_for_linux.rar
-
sudo tar -xvf dnw_for_linux.tar.gz
2:进入dnw_for_linux/secbulk/目录下,编译生成secbulk.ko文件
-
make -C /lib/modules/`uname -r`/build M=`pwd` modules
之后通过如下语句加载模块
完成后,敲入命令dmesg | grep secbulk看看是否加载成功,如若出现下面提示,表示已经OK
-
secbulk:secbulk loaded
-
usbcore: registered new interface driver secbulk
另外,对于使用dnw的话,要使secbulk驱动加载到内核,为了避免每次都要手动加载,可以在/etc/init.d/rc.local文件最后面加入如下语句,以后可自动加载
-
insmod /secbulk.ko文件所在路径/secbulk.ko
3:修改dnw_for_linux/dnw/dnw.c文件,vim dnw_for_linux/dnw/dnw.c
找到如下语句
-
printf("Writing data...\n");
-
size_t remain_size = file_stat.st_size+10;
-
size_t block_size = remain_size / 100;
-
size_t writed = 0
在其前面加入下面两句,修改后如下
-
file_buffer [file_stat.st_size + 8] = sum & 0xff;
-
file_buffer [file_stat.st_size + 9] = sum >> 8;
-
-
printf("Writing data...\n");
-
size_t remain_size = file_stat.st_size+10;
-
size_t block_size = remain_size / 100;
-
size_t writed = 0
之后再对修改后的dnw.c进行编译,生成dnw
同时将dnw复制到/usr/local/bin目录下,这样就可以在任意文件目录下调用dnw命令了。
4:此时可以测试一下dnw能否使用
这里使用supervivi,打开两个终端,一个输入minicom命令,打开串口调试,使其进入等下下载的命令状态。
另一个终端中输入dnw /要下载文件的路径,若正常,会显示如下
如果出现“can not open /dev/secbulk0”的提示,可以尝试使用sudo dnw的方法加载权限来解决。
到目前为止,基本上已经介绍完dnw的使用,写这个文章主要还是为日后方便查阅,好记性不如烂笔头啊。
阅读(2520) | 评论(0) | 转发(0) |