说明:本文仅在Windows环境下实验。

韦东山的JZ2440(v2),可以选择从Nor Flash启动,也可以选择从Nand Flash启动,不管从哪里启动,都需要Flash上有程序,没有程序的话,板子就是一块砖头。

按照常规思维,板子上应该有一个BootLoader,我们通过BootLoader来烧写Flash。现在的问题是,板子上连BootLoader也没有,我们该怎么办呢?

还好,板子上有JTAG接口,我们可以利用OpenJTAG或者J-link等,一端连接板子,一端连接PC的USB口,再利用某个软件把程序烧写到Flash里。

至于为什么可以通过JTAG接口烧写Flash,可以参考我的博文
http://blog.csdn.net/longintchar/article/details/70473887

本文主要介绍如何通过OpenJTAG烧写程序到Flash。

什么是OpenJTAG

根据维基百科,Open JTAG 项目是一个开源工程,它包括完整的硬件和软件设计参考,基于简单的硬件组成,包括一个 FTDI FT245 USB 前端和一个 Altera EPM570 MAX II CPLD。

这里我们不讨论这个开源工程,我只想说在嵌入式Linux学习中,“OpenJTAG”是一个看得见摸得着东西。下图就是我从韦东山老师那里买来的OpenJTAG。

这个东东有什么用呢?它有两大核心功能:

  • USB 转串口
  • USB 转 JTAG

    由于JZ2440(V2)已经集成了USB转串口的功能,所以我们主要用OpenJTAG的 “USB 转 JTAG”功能,基于这个功能,引出两个应用,一是用来烧写程序,二是用来调试。调试不是本文的重点,以后用到了再说。

    安装OpenJTAG的驱动

    当把这个黄色的东东插到电脑USB口的时候,会提示没有驱动,查看设备管理器如下图:

说明我们得安装驱动,不然无法使用。
一种安装方法是:鼠标移动到感叹号处,点击右键,选择【更新驱动程序软件】,再选择【浏览计算机以查找驱动程序软件】,如下图

点击【浏览】,选择驱动所在的文件夹,之后点击【下一步】就可以了。
此时再查看设备管理器,可以看到多了4项。

用oflash.exe烧写程序

OpenJTAG的用户手册上说,oflash.exe是特别针对 OpenJTAG 编写的烧写工具,支持 s3c2410、 s3c2440 开发板,支持几乎所有类型的 Nor、 Nand Flash 烧写。

先不管这个软件是怎么弄出来的(其实我也很好奇),我们先用起来。使用步骤如下。
(0)接线,OpenJTAG一端连接PC的USB口,另一端(我的这个在侧面)通过排线连接板子的JTAG口。注意:排线端口的一侧有个小凸起,这个凸起一定要和板子上绘制的凸起标记相对应。
(1)把FTD2XX.dlloflash.exe放到C:\WINDOWS\system32目录下
(2)在命令行运行oflash

(3)输入“0”,表示OpenJTAG,回车;

Select the CPU:
0. S3C2410
1. S3C2440
2. S3C6410
Enter the number:

(4)选择CPU类型。我的板子是2440,所以选择1;

device: 4 “2232C”
deviceID: 0x14575118
SerialNumber: FTWLXFKQA
Description: USB<=>JTAG&RS232 AS3C2440 detected, cpuID = 0x0032409d
[Main Menu]
0:Nand Flash prog 1:Nor Flash prog 2:Memory Rd/Wr 3:Exit
Select the function to test:

(5)选择Nand或者Nor。因为我要烧写到Nand Flash,所以选择0;
(6)输入文件名:

Enter the file name:

比如输入

E:\韦东山\00_百问网JZ2440v2主光盘\bin\hardware\stdio.bin

(7)接着会显示:

[NAND Flash JTAG Programmer]
Scan nand flash:
Device 0: NAND 256MiB 3,3V 8-bit, sector size 128 KiB
Total size: 256 MiB
0:Nand Flash Program 1:Nand Flash Print BlkPage 2:Exit
Select the function to test :

再次输入0

[NAND Flash Writing Program]
Source size: 0x2e74
Available target block number: 0~2047
Input target block number:

(8)输入block number或者地址。这里我输入0,表示0地址,回车后等待

target start block number =0
target size (0x20000*1) =0x20000
STATUS:
Epppppp

(9)等命令行提示符出现后,就说明烧写完成了。

要看程序的运行效果,请把拨码开关拨到合适的位置(选择从Nand Flash启动还是从Nor Flash启动),并断开板子和OpenJTAG的连接。

【完】

用OpenJTAG烧写程序到Flash—— 韦东山嵌入式Linux视频学习笔记03相关推荐

  1. 用J-Link烧写u-boot到Nor Flash—— 韦东山嵌入式Linux视频学习笔记04

    说明:本文的实验环境为Windows7+JZ2440 J-Link 只支持烧写 Nor Flash,不支持烧写 Nand Flash(为什么呢?先不探究原因). 如果想烧写程序到Nand Flash, ...

  2. 关于JTAG——韦东山嵌入式Linux视频学习笔记02

    1. JTAG的字面意思 JTAG --Joint Test Action Group,联合测试行动组. 2. JTAG标准 随着技术的发展,芯片的结构和功能越来越复杂,传统的使用万用表.示波器测试芯 ...

  3. 开发板的I/O在哪里——韦东山嵌入式Linux视频学习笔记01

    一般来说,串口就是开发板的I/O(输入输出)接口.我们可以通过串口向板子发送命令,也可以通过串口把板子的状态信息打印出来. 板载串口和PC的连接 如果板子上有串口,且电脑上也有串口,那直接用串口线相连 ...

  4. 如何告别半途而废——韦东山嵌入式Linux视频学习笔记00

    今天终于从柜子里翻出了韦东山的板子--JZ2440(V2),又翻出了当时买板子赠送的光盘,是的,我又要重新学习了.其实说"重新"是不对的,我当初就没有学完,学到一半放弃了(惭愧啊) ...

  5. win7下不能使用dnw烧写的解决办法——韦东山嵌入式Linux学习笔记05

    本文实验环境: 1. windows 7(64bit) 2. JZ2440 一. 问题的提出--没有驱动 假设板子的 Nor Flash 上已经烧好了 u-boot,那么如何通过 u-boot 的US ...

  6. 使用u-boot的USB下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记06

    本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2) 假设板子的Nor Flash上已经烧好了u-boot,如果我想利用u-boot的USB下载功能,把一个裸板程序烧写到 ...

  7. 韦东山嵌入式第一期学习笔记DAY_2——6_2_使用eop烧写裸板程序

    作者:GWD 时间:2019.7.3 一.课程内容 1.安装JTAG驱动: 1).复制驱动所在路径: 2).安装驱动时候,选择浏览计算机以查找(注意对于EOP需要安装几次驱动,路径都是一样的) 2.安 ...

  8. 韦东山嵌入式第一期学习笔记DAY_3——7_1_裸机开发步骤简介

    作者:GWD 时间:2019.7.4 一.课程内容: 1.问:windows.linux与arm(linux)建立工程的区别? 答: 2.问:ubuntu环境下编译一个C文件的过程? 答: 1).建立 ...

  9. 使用u-boot的tftp下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记09

    本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2) 操作步骤: (1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC 如果搞不定,可以参考我的博文 ht ...

最新文章

  1. 如何合理的规划一次jvm性能调优
  2. leetcode 155. 最小栈
  3. 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)--转载...
  4. 动态系统开发方法DSDM
  5. ITK:具有写访问权限遍历图像的某个区域
  6. [小技巧]EF Core中如何获取上下文中操作过的实体
  7. (lucas) Saving Beans
  8. 数据库连接字符串 mysql_数据库连接字符串(MySQL,SQL Server,Oracle)
  9. 完全开源的杀病毒软件ClamAV
  10. 近期团队博客的摘要 5
  11. Dijkstra算法(单源最短路)
  12. 特征选择---文本分类:叉方统计量 卡方
  13. c语言只中原子变量含义,c语言中的原子操作 - osc_bkg5rgl1的个人空间 - OSCHINA - 中文开源技术交流社区...
  14. Linux 压测工具 stress 安装下载
  15. 计算机主板运算放大器电路,常用运算放大器电路图 (全集)
  16. 知乎自动化登录(2021.3)
  17. 5.spring-boot>redis配置使用
  18. 浏览器解析jsx_React 初窥:JSX 详解
  19. VMWare安装使用、Linux命令、Docker安装和Linux项目部署
  20. 澳洲留学生论文写作必备好用软件or网站

热门文章

  1. 社区的代码规范及e2e测试
  2. Django,Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传
  3. 新版appium 支持name定位的方法(没试 记录再此)
  4. 从零实现一个简易jQuery框架之一—jQuery框架概述
  5. Spring Boot修改内置Tomcat端口号
  6. 类中赋值运算符重载函数
  7. Spring MVC 入门
  8. asp动态树菜单集合(3/3)
  9. leetcode刷题之树(1)
  10. [云炬python3玩转机器学习] 6-1什么是梯度下降法