原帖地址: 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连接成功,就等待你下载传输了。情况如下:

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

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

下载过程和结果如下:

到此为止,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. noip2006解题报告

    T1.能量项链 给出一串数字(其实是个环也就是可以旋转).n个数组成n颗珠子,形如: 1 2 3 4 表示的珠子是(1,2)(2,3)(3,4)(4,1) 定义珠子的聚合:如前两颗聚合放出能量为1*2 ...

  2. dll 导出函数名的那些事

    dll 导出函数名的那些事 关键字: VC++  DLL  导出函数 经常使用VC6的Dependency或者是Depends工具查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导 ...

  3. 使用imap协议接收邮件

    之前一直使用PHPMail类进行发送邮件,这个是一个非常强大的类,但是其实底层就是使用mail()函数来进行发送的. 但是现在公司有个需求是  写个程序需要实时的接收邮件,主要是判断邮件发出去了,并且 ...

  4. MC的一些具体的应用的例子的总结

    任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用. 对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多. memcached的最常用的场景 ...

  5. ServiceLocator 简单示例(转)

    Service Locator Pattern in C#: A Simple Example(转) Service Locator Pattern in C# with Lazy Initializ ...

  6. codeforces 361 E - Mike and Geometry Problem

    原题: Description Mike wants to prepare for IMO but he doesn't know geometry, so his teacher gave him ...

  7. sin, miss the mark, correct our aim and try again

    Guilt should only be a call to action. When we see that we "missed the mark"(the meaning o ...

  8. HTML5基础

    一.HTML(超文本标记语言) 1>就是文本,由浏览器负责将它解析成具体的网页内容 2>由N个标签(节点.元素.标记)组成 二.常见HTML标签 1>标题标签:h1.h2.h3.h4 ...

  9. 《CSS3秘籍》(第三版)-读书笔记(2)

    第6章 文本格式化 1.  使用字体 字体font-family: 通用的字体样式: serif字体最适用于冗长的文字信息.这种字体使字母主笔画的结尾处会有一些细小的“足”. sans-serif字体 ...

  10. 解决 HttpClient 模拟 http 的get 请求后 ,出现 403 错误

    解决方法: URI uri = builder.build(); // 创建http GET请求 HttpGet httpGet = new HttpGet(uri); httpGet.setHead ...