Linux 下利用dnw进行USB下载~~

转载 2012年03月24日 22:29:26

转自:blog.csdn.net/jjzhoujun2010

作者:Dream Fly



开发板是 友善之臂mini2440

PC操作系统 Ubuntu 10.10

前段时间在windows熟悉了开发板,现在开始切换到ubuntu啦,之前一直dnw搞不定,所以用WIN7,现在试了下搞好了。

前提是你的minicom要装好,这个不懂的自己搜去吧,很容易配置,这里主要讲下DNW的配置,因为网上有好多配置用不了,这里我参考了下http://hi.baidu.com/go_it/blog/item/35e457880a5253bd0f244458.html。

 

说一下dnw for linux 的使用。
先到网上搜索一下 dnw for linux。

我顺便上传了一个  http://download.csdn.net/source/3326087

下载回来解压。
目录如下:

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

到此就可以下载程序了。

下图是我通过USB下载的一个bin文件

 

 

 

由于有时后DNW会出问题,下面补充一些常见问题以及更加详细的操作,参考自:http://shundacao.blog.163.com/blog/static/1340404812010102123259108/

从做完就在搞这个问题,一共有三种方案,dnw和dnw2还有usb2ram

第一种需要加载驱动,后面两种需要安装libusb-dev.其中第二种的烧写速度很快,我都能听到电流声.但是也很不稳定.经常出现的提示是:

"usb_bulk_write failed: Resource temporarily unavailable"

从提示的信息来看是烧写的文件大于容量了.但是实际情况没有,原因不明.有人说是每次烧写都要重新插拔一次usb.

usb2ram提示的信息是找不到设备,原因不明
========================================
使用dnw2经常出现的错误提示是:

Target usb device found!
Cannot claim interface: Device or resource busy

========================================================
我后来还是使用的第一种方法,加载驱动:
方法是:
1. 下载Linux下DNW的PC端USB驱动和写入工具
文件名: dnw_linux.zip
下载后把后缀名改成.tgz
#或者搜索 linux dnw
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
alex@alex-desktop:~/project3/qq2440/dnw_linux/dnw_linux/secbulk$ ls
Makefile

Module.symvers  secbulk.c  secbulk.ko  secbulk.mod.c  secbulk.mod.o  secbulk.o

用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

==========================
使用dmesg查看是否成功加载驱动很重要,如果没有这步,会提示说"Can not open /dev/secbulk0 "


3 使用DNW下载
3.1 启动开发板,进入Supervivi,并将开发板和PC用USB电缆连接,此时用dmesg命令可以看到secbulk驱动加载:
[  283.677772] usb 1-1: new full speed USB device using uhci_hcd and address 2
[  284.084835] usb 1-1: configuration #1 chosen from 1 choice
[  284.140430] secbulk:secbulk probing...
[  284.140482] secbulk:bulk out endpoint found!

3.2 此时可以用supervivi进行USB下载,vivi上步骤请参考用户手册,当出现“USB host is connected. Waiting a download.”时,在PC端Linux上用dnw工具写入要下载的文件
$sudo ./dnw /path/to/what/you/want/download
#此处使用命令写入,无界面

写入完成后提示成功
100%    xxxxxxx bytes    OK


$sudo insmod ./secbulk.ko 为加载模块进内核
开机的时候不会自动加载,这样每次都要先加载才可以使用,此时将其加入开机脚本,
使其得到自动加载,编辑/etc/init.d/rc.local 在最后加上 insmod /所在路径/secbulk.ko。


#调用dnw时只能在当前目录使用./dnw执行,对此情况,将dnw添加到/usr/local/sbin中,这样可以在
任何目录,使用  sudo dnw filename来调用


Linux 下利用dnw进行USB下载~~

开发板是 友善之臂mini2440 PC操作系统 Ubuntu 10.10 前段时间在windows熟悉了开发板,现在开始切换到ubuntu啦,之前一直dnw搞不定,所以用WIN7,现在试...
  • Aniu127
  • Aniu127
  • 2013年08月11日 13:46
  • 563

Linux 下利用dnw进行USB下载~~

开发板是 友善之臂mini2440 PC操作系统 Ubuntu 10.10 前段时间在windows熟悉了开发板,现在开始切换到ubuntu啦,之前一直dnw搞不定,所以用WIN7,现在试...
  • xiaoaide01
  • xiaoaide01
  • 2014年10月08日 16:50
  • 527

Linux 下利用dnw进行USB下载~~ (转载)

blog.csdn.net/jjzhoujun2010 开发板是 友善之臂mini2440 PC操作系统 Ubuntu 10.10 前段时间在windows熟悉了开发板,现在开始切换...
  • sinat_27489187
  • sinat_27489187
  • 2016年12月11日 22:14
  • 165

Linux 下利用dnw进行USB下载~~

http://blog.csdn.net/jjzhoujun2010/article/details/6453884 开发板是 友善之臂mini2440 PC操作系统 Ubuntu 10.10...
  • yan420523
  • yan420523
  • 2013年07月01日 20:50
  • 704

Dnw下载工具还是Linux下的好(For OK6410)

原文地址:http://www.cnblogs.com/lixiaoming90/archive/2013/03/21/2973837.html
  • David_xtd
  • David_xtd
  • 2014年05月17日 18:10
  • 7982

Win7下安装OK6410的USB驱动以及Linux下源码安装dnw

因为飞凌的OK6410 的USB驱动在Win7下不能用,因此分享我的USB驱动的安装过程。一:Win7下的Ok6410 的USB下载线驱动安装。 开发环境。宿主机Ubuntu 14.04 x64(Wi...
  • u011225295
  • u011225295
  • 2015年11月28日 00:52
  • 1306

在Linux环境下安装并使用DNW进行文件下载

下载DNW安装包安装 大家可以到我的资源页面下载。。。。但是要积分 更详细的请参考:点击打开链接...
  • Oimchuan
  • Oimchuan
  • 2013年11月29日 20:53
  • 977

【原创】mini2440 USB无法正常连接下载问题(dnw无法识别usb)

【原创】mini2440 USB无法正常连接下载问题(dnw无法识别usb)一般情况下,大多数人在windows下用dnw通过usb线烧录mini2440,但是,这个usb的驱动问题很大,我用的时候老...
  • linczone
  • linczone
  • 2015年05月22日 15:35
  • 1378

dnw在linux下的安装方法

参考地址:http://blog.sina.com.cn/s/blog_720b3485010190mx.html                 http://blog.csdn.net/jjzho...
  • fuyoufang1
  • fuyoufang1
  • 2014年05月06日 17:33
  • 776

linux下安装及使用DNW

主机平台:Ubuntu 12.04 arm平台:粤嵌GEC210开发板(S5PV210)
  • a470038781
  • a470038781
  • 2016年11月04日 18:29
  • 1253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 下利用dnw进行USB下载~~
举报原因:
原因补充:

(最多只允许输入30个字)