linux dnw
2016-03-31 14:01
323 查看
下载Linux下DNW的PC端USB驱动和写入工具
文件名: dnw_linux.zip
下载后把后缀名改成.tgz
#或者搜索 linux dnw
编译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.c
$make -C /lib/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写入工具
cddnwcd 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来调用。
提高下载速度
将secbulk.c中的
文件名: dnw_linux.zip
下载后把后缀名改成.tgz
#或者搜索 linux dnw
编译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.c
$make -C /lib/modules/
uname -r/build M=
pwdmodules
编译成功后在当前目录下可以看到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写入工具
cddnwcd 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来调用。
提高下载速度
将secbulk.c中的
define BULKOUT_BUFFER_SIZE 32
改为define BULKOUT_BUFFER_SIZE 512
可发现速度快了很多。相关文章推荐
- centos 7.0下关闭&启动防火墙
- linux常用命令
- Linux下is not in the sudoers file解决方法
- centos安装nodejs
- Linux操作系统下/etc/hosts文件配置方法
- linux常用基本命令
- linux常用基本命令
- Windows官方将会内嵌Linux系统
- Linux SO_KEEPALIVE属性,心跳
- openssl-1.0.0b - libssl 移植到ARM Linux
- LINUX内核分析第六周学习总结——进程的描述和进程的创建
- Linux_ 内存管理demo
- Linux_ 内存管理
- Linux_fork 进程操作demo
- Linux_ fork 进程操作
- Linux学习总结——实践
- 《Linux内核设计与实现》第3章读书整理
- Linux _文件操作demo
- 《Linux内核设计与实现》Chapter 3 读书笔记
- Linux信号处理