Linux下烧写工具DNW和USB驱动安装
来源:互联网 发布:java怎么求最小公倍数 编辑:程序博客网 时间:2024/04/28 11:47
转:http://blog.csdn.net/zhengmeifu/article/details/8837930
Linux下编译记录:
编译PC端USB驱动和写入工具
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是写入工具
编译驱动之前先修改secbulk.c
找到#define BULKOUT_BUFFER_SIZE
修改为
#define BULKOUT_BUFFER_SIZE 512
找到
static struct usb_device_id secbulk_table[]= {
{ USB_DEVICE(0x04e8, 0x1234)},
{ }
};
修改为上面的样子
接下来编译
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
加载编译好的驱动
$sudo insmod ./secbulk.ko
注意,每次下载前都需要加载驱动,或者可以设置为开机自动加载
Ubuntu中,假设驱动文件在/opt/dnw_linux/secbulk/
则修改/etc/rc.d/rc.local文件,末尾加入
sudo insmod /opt/dnw_linux/secbulk/secbulk.ko
即完成开机自动加载驱动模块
接下来编译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;
在它前面加上2行代码,如下:
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
$gcc -o dnw dnw.c
编译成功后生成可执行dnw
使用DNW下载
启动开发板,进入minicom,并将开发板和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!
说明驱动可以使用
重起开发板,别进linux系统,按任意键进入uboot界面,
输入
dnw 50008000
当出现“USB host is connected. Waiting a download.”时,
在PC端Linux上用dnw工具写入要下载的文件,例如我要写入/tmp/zImage
$./dnw /tmp/zImage
写入完成后提示成功
100% 312349 bytes OK
至此,dnw在linux下使用一切正常
dnw下载地址:
https://github.com/Qunero/dnw4linux
- Linux下烧写工具DNW和USB驱动安装
- ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
- ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
- Linux下DNW的PC端USB驱动和写入工具【转】
- linux下usb下载驱动dnw设置
- Win7下安装OK6410的USB驱动以及Linux下源码安装dnw
- 使用dnw工具usb下载
- 64位win7系统下安装USB下载器驱动FriendlyArm-usb-dnw-driver-的解决方案
- DNW下USB驱动故障的解决
- win7装dnw的usb驱动
- linux下面安装dnw
- Win10安装DNW相关驱动
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- linux下USB DNW功能实现
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- Linux 下利用dnw进行USB下载~~
- elasticsearch MultiSearch实例
- Springmvc构造RESTful详细讲解
- 第一周 课后实践:阅读程序(2)
- 枚举类型—平面点的对称点
- 1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值
- Linux下烧写工具DNW和USB驱动安装
- android docs本地帮助文档打开特别慢的解决方法
- Linux shell的标准输入、输出和错误
- Jquery 动态添加txt文档到textarea
- OpenGL初探
- Objective-C的对象模型与运行时
- 排序算法
- 在Web中集成Kettle
- 泛型理解