Linux下DNW的PC端USB驱动和写入工具【转】
来源:互联网 发布:吐槽 程序员男友 编辑:程序博客网 时间:2024/04/28 10:54
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
//////////////////////////////////////////////////////////////////////////以下为个人使用的时候总结的问题///////////////////////////////////////////////////////////
注意几点:1.检查secbulk.c文件的关于usb的PID VID是否和usb一样?
2.注意权限 udo ./dnw $sudo insmod
3.相关命 (dmesg | grep secbulk :查看sebulk驱动及状态) dmesg | tail
4.可改动secbulk.c文件中的 BULKOUT_BUFFER_SIZE 数值32为大一些入512,可加快速度
文件名: 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
//////////////////////////////////////////////////////////////////////////以下为个人使用的时候总结的问题///////////////////////////////////////////////////////////
注意几点:1.检查secbulk.c文件的关于usb的PID VID是否和usb一样?
2.注意权限 udo ./dnw $sudo insmod
3.相关命 (dmesg | grep secbulk :查看sebulk驱动及状态) dmesg | tail
4.可改动secbulk.c文件中的 BULKOUT_BUFFER_SIZE 数值32为大一些入512,可加快速度
- Linux下DNW的PC端USB驱动和写入工具【转】
- Linux下烧写工具DNW和USB驱动安装
- linux下usb下载驱动dnw设置
- ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
- ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
- DNW下USB驱动故障的解决
- Win7下安装OK6410的USB驱动以及Linux下源码安装dnw
- Linux下dnw工具的使用
- win7装dnw的usb驱动
- 64位win7系统下安装USB下载器驱动FriendlyArm-usb-dnw-driver-的解决方案
- Linux下的minicom和dnw
- Linux 下的DNW
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- linux下USB DNW功能实现
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- 数据结构中的排序算法
- Python's Decorator (Annotation)
- url中文乱码解决大全
- System.InvalidOperationException: The stream does not support reading
- GDI+往jpg图片文件里面添加属性值
- Linux下DNW的PC端USB驱动和写入工具【转】
- oracle11gr2 监听服务不起作用
- 将编译AS3区分Debug版本和Release版本
- 在linux上使用QEMU 进行系统仿真
- navigationController返回
- 如果是你你会如何重新设计和定义维基百科(wikipedia)?
- 在Xcode 4.2 IOS 5.0中为低版本IOS开发
- oracle对象的表空间迁移
- 电脑技巧