linux下程序烧写(dnw+minicom)
来源:互联网 发布:免费seo软件 编辑:程序博客网 时间:2024/05/17 04:00
嵌入式下载程序到flash,还是一开始移植好bootloader比较方便。只要在uboot下做了下载的支持(usb下载,tftp下载),还是比较方便的。
由于我个人没有做tftp的下载支持(笔记本就一个网口,也没有路由器),只能通过usb下载了。在windows下用dnw工具还是很方便的,幸运的是,有人也在linux下做了相同功能的dnw工具(完整的驱动支持)。这篇文章只是做个备份,方便自己查看吧。
///////////////////////////////////////////////////////////////以下转自网友博客,有对内容做了调整////////////////////////////////////////////////////////////////////////////
linux下下载程序到ram一共有三种方案: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
========================================================
我这里使用第一个方案dnw:
1 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.1编译并加载secbulk.c内核模块
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
$sudo insmod ./secbulk.ko
加载后用dmesg命令可以看到模块已经成功加载
[ 238.007970] secbulk:secbulk loaded
[ 238.009101] usbcore: registered new interface driver secbulk
使用dmesg查看是否成功加载驱动很重要,如果没有成功,在打开工具时会提示说"Can not open /dev/secbulk0 "
2.2编译dnw写入工具
$cd dnw
$gcc -o dnw dnw.c
编译成功后生成可执行档dnw
3 使用DNW下载
3.1 启动开发板,并将开发板和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 此时可以用uboot进行USB下载,选择下载选下,当出现“USB host is connected. Waiting a download.”时,在PC端Linux上用dnw工具写入要下载的文件
$sudo ./dnw /path/to/what/you/want/download
#此处使用命令写入,无界面
写入完成后提示成功
100% xxxxxxx bytes OK
4 工具完善
4.1自动加载驱动
$sudo insmod ./secbulk.ko 为加载模块进内核
开机的时候不会自动加载,这样每次都要先加载才可以使用,此时将其加入开机脚本,
使其得到自动加载,编辑/etc/init.d/rc.local 在最后加上 insmod /所在路径/secbulk.ko。
4.2 使dnw成为系统工具
在3.2中调用dnw时只能在当前目录使用./dnw执行,对此情况,将dnw添加到/usr/local/sbin中,这样可以在
任何目录,使用 sudo dnw filename来调用。
文章修改自:Linux 下利用dnw进行USB下载~~http://blog.csdn.net/jjzhoujun2010/article/details/6453884
这里向大家求助:我使用minicom作为串口工具,但是不支持中文显示(每次都乱码,我的虚拟终端是支持中文的),希望知道怎么解决的朋友给个方法,在这谢过了。
- linux下程序烧写(dnw+minicom)
- linux下使用kermit和dnw烧写程序
- Linux下的minicom和dnw
- linux下利用dnw烧写文件,告别windows下dnw蓝屏死机(转)
- linux下利用dnw烧写文件
- linux下利用dnw烧写文件
- linux下利用dnw烧写文件
- linux下用dnw烧写文件系统
- linux下dnw的烧写
- arm+linux 裸机环境搭建之初试minicom+dnw烧写uboot
- mini2440烧写裸机程序(linux+supervivi+dnw)
- USB转串口+DNW烧写程序 Linux环境
- Linux DNW烧写实例
- linux(ubuntu)下利用dnw烧写文件
- Linux Fedora14下利用DNW烧写文件
- JZ2440如何烧写裸板程序,在 Linux 下使用 dnw 和 u-boot 烧写系统 和 用Tftp 下载
- CentOS6.4下利用dnw烧写文件,dnw安装与配置(基于TQ2440)
- Ubuntu下用minicom搭建TQ2440的程序下载dnw环境
- [Java] 反射机制 02 - Good!
- Android 音乐播放器的实现(二)界面的实现
- MySql计算两个日期的时间差函数
- apache+tomcat集群处理
- User-agent 类型汇总
- linux下程序烧写(dnw+minicom)
- POJ 2411 Mondriaan's Dream
- 玩转Web之servlet(一)---怎样创建一个servlet
- 理财:互联网金融货币基金
- 居然没找到空间域名在哪里设置??
- 2002
- viewpager实现画廊(一屏多个Fragment)效果
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- thinkphp 添加数据 使用add($data); 只有主键增长 其他都为空