【原创】-- Linux 下利用dnw进行USB下载

时间:2022-09-04 20:45:30

原帖地址: http://blog.csdn.net/jjzhoujun2010

     http://blog.csdn.net/yf210yf/article/details/6700391

     http://www.cnblogs.com/lixiaoming90/archive/2013/03/21/2973837.html

1、开发环境:

  开发板是 OK6410  PC操作系统 Ubuntu 14.04

  USB 转串口线

2、安装配置minicom:

  2.1 下载安装minicom

  sudo apt-get install minicom

  2.2 运行minicom
  运行“sudo minicom -s”命令进入配置界面(或者直接运行“sudo minicom”, 然后同时按下“回车+A”,再按Z,最后按O,同样进入配置界面)

  2.3 配置串口
  选择 “串口设置”,进入串口配置界面

  选择串口设备: 在Linux下,COM0端口为 /dev/ttyS0,COM1端口为 /dev/ttyS1, 我的串口线连在COM1端口,因此选择 /dev/ttyS1
  设置波特率和帧格式  115200 8N1(115200 8N1:115200为波特率, 8表示帧数据长度为8,N表示无奇偶校验位,1表示1位停止位)

  注意: 如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0 (2)如果使用USB转串口,在插入USB转串口后,则需要查看dev下是否存  在ttyUSB0, 若没有,则创建一个: mknod /dev/ttyUSB0 c 188 0

  本人采用USB转串口线,所以选择串口为 /dev/ttyUSB0
  
  2.4保存配置
  有两个保存选项:“设置保存为dfl” 和 “ 设置保存为.. ”
  1、设置保存为dfl: 将配置保存为默认配置,下次运行 ”sodu minicom“命令时,自动启用该配置
  2、设置保存为.. :保存配置文件,下次运行 “sudo minicom 配置名” 时启用配置文件。比如我将配置文件保存为myconf,那么运行"sudo minicom myconf"将启用配置.

  2.5 退出后再次进入

  先退出

  运行"sudo minicom 配置名"启用配置。如果配置名为空,则启用默认配置。

  下次在输入minicon 即可直接进入。

  命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。

  注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复。

  使用配置好的设置再次启动后,minicom中就可以打印串口信息了。

3、dnw  for  linux

  注意:不同的开发板使用的dnw可能不同,具体情况及DNW编写方法有待下一步整理(》》》),此处使用的是已经修改好的针对OK6410的dnw

  3.1  dnw由两部分构成:USB驱动和下载工具,USB驱动便是secbulk文件夹,下载工具是DNW文件夹

   下载地址:http://files.cnblogs.com/lixiaoming90/dnw_linux.rar

   文件名:DnwLinux.rar

  3.2  安装dnw

解压缩,之后会看到dnw_linux文件夹,进入该文件夹

3.2.1  secbulk编译安装

     $ cd secbulk

$ make

之后会有secbulk.ko模块文件

加载该模块到内核(注意:需要root权限)

$ sudo insmod secbulk.ko

加载后用dmesg命令可以看到模块已经成功加载
     [  238.007970] secbulk:secbulk loaded
     [  238.009101] usbcore: registered new interface driver secbulk

  使用lsmod也可以看看加载成功没。

$ lsmod | grep secbulk

常见问题: can not open /dev/secbulk0,  则表示该模块没有加载成功或者dnw没有root权限

3.2.2 dnw编译安装

$ cd dnw

$ gcc –o dnw dnw.c

  注意:

  1、能会有一些警告,不过可以忽略。在dnw下生成dnw工具

  2、将dnw复制到/bin目录下,这样就可以在任意文件目录下调用dnw命令。  

  3、 因为要用dnw的话,要确保secbulk驱动加载到内核,为了避免每次都要手动加载,因此修改/etc/init.d/rc.local文件(root权限),在后面加上下面一句:

  insmod /….你的secbulk.ko文件目录/secbulk.ko

  保存退出完事。

  3.3  dnw运用

  3.3.1 下载到内存

  打开两个终端,一个输入minicom命令,打开串口调试,当开发板加载uboot时按下PC上的空格键,使其停在下载模式,输入以下命令:

  SMDK6410# dnw  0x50008000

此时终端打印以下信息,说明USB连接成功,就等待你下载传输了。情况如下:

【原创】-- Linux 下利用dnw进行USB下载

  在另外一个终端输入以下命令,下载文件:

$ dnw /你要下载的文件路径/文件名

下载过程和结果如下:

【原创】-- Linux 下利用dnw进行USB下载

到此为止,dnw的介绍结束。

  程序已经下载到内存中,如果想在内存中运行改程序程序,命令如下:

SMDK6410#  go 0x50008000

  3.3.2 下载到NandFlash

下载到NandFlash中的代码掉电后依旧可用

步骤如下:

(1)制作烧写Uboot的SD卡

(2)设置开发板为SD卡启动,启动后按PC上的空格键停在Uboot下载调试界面,下面的就跟上面的步骤一样,将程序通过USB烧写到内存中

(3)将NandFlash中的0~1M的空间擦除,再把下到内存地址中的程序烧写到NandFlash的0~100000空间中(uboot中默认的是16进制)

SMDK6410#  nand erase 0 100000

SMDK6410#  nand write.e 0x50008000 0 100000

(4)设置开发板为NandFlash启动,重启。

【原创】-- Linux 下利用dnw进行USB下载的更多相关文章

  1. 在linux下实现UBOOT的TFTP下载功能

    一.环境 1.条件 软件:虚拟机下linux(本文涉及到的是Ubuntu12.0.4). linux下的串口助手(例如minicom)或windows下的串口助手(例如超级终端.SecureCRT) ...

  2. Xshell5下利用sftp上传下载传输文件

    sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH ...

  3. [原创]Linux下网络性能测试Netperf工具介绍及安装

    [原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...

  4. Linux下的硬件驱动——USB设备(转载)

    usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提 ...

  5. 【ARM-Linux开发】【CUDA开发】【视频开发】关于Linux下利用GPU对视频进行硬件加速转码的方案

    最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案.似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对 ...

  6. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  7. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  8. 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误

    嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报  分类: 嵌入式(928)  一般察看函数运行时堆栈的 ...

  9. linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改

    原文地址:http://www.cnblogs.com/firtree/p/4028354.html linux下利用openssl来实现证书的颁发(详细步骤) 1.首先需要安装openssl,一个开 ...

随机推荐

  1. BZOJ 1014: [JSOI2008]火星人prefix

    Sol Splay+Hash+二分答案. 用Splay维护Hash,二分答案判断. 复杂度 \(O(nlog^2n)\) PS:这题调了两个晚上因为没开long long.许久不写数据结构题感觉写完整 ...

  2. noi 1768 最大子矩阵

    题目链接:http://noi.openjudge.cn/ch0206/1768/ 可能是数据修改了吧,O(n6)过不了了. 主要是在求一个矩阵的和时,重复计算了很多次. 矩阵首先压缩一下.在输入的时 ...

  3. UliPad 初体验----python 开发利器

    学习python 有段时间,最近博客更新比较慢了,空闲时间在零零碎碎的学python ,难成文,也就没整理成博客. 学习python 最苦恼的就是没有趁手IDE ,之前学java 时 Eclipse  ...

  4. Day08_面向对象第三天

      1.代码块(掌握) 1.概述     由{}扩起来的代码称之为代码块,类或者方法也可认为是代码块,但是一般不这么说,我们平时所说的代码块指的是孤零零的{} 2.代码块作用     局部代码块作用  ...

  5. datawindow.net 动态按条件汇总字段值

    string xblx = dw1.GetItemString(row, "c_xblx"); string xbid = dw1.GetItemString(row, &quot ...

  6. Android消息机制——时钟显示和异步处理工具类(AsyncTask)

    1. 时钟显示 定义布局文件——activity_my_analog_clock_thread_demo.xml <?xml version="1.0" encoding=& ...

  7. 【html】【21】高级篇--搜索框

    下载: http://www.xwcms.net/js/bddm/25368.html 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  8. WebView调用有道词典实如今线查词

        WebView(网络视图)能载入显示网页,能够将其视为一个浏览器.它使用了WebKit渲染引擎载入显示网页,用法非常easy,直接在XML文件里写入webview控件就可以,主要代码例如以下: ...

  9. C&num; 操作Excel数据透视表

    一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

  10. 关于模板引擎handlebars&period;js基本用法

    说明:模板引擎主要针对于渲染DOM,取代了字符串拼接,用下面的代码亲测handlebars模板引擎比字符串拼接渲染DOM慢了20ms, 这里配置一个在线DEMO,简单说明下handlebars.js的 ...