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

说明:本文仅在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的连接。

【完】

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值