用JTAG烧写Flash的方法
### 用JTAG烧写Flash的方法 #### 一、引言 随着电子技术的发展,Flash存储器因其存储容量大、密度高的特点,在嵌入式系统领域得到了广泛应用。然而,对于焊接在电路板上的Flash存储器而言,直接烧写操作存在较大困难。为此,采用JTAG接口进行在线烧写成为了一种有效的解决方案。 #### 二、JTAG烧写Flash原理 ##### 2.1 JTAG简介 JTAG(Joint Test Action Group,联合测试行动组)是一种用于测试集成电路的国际标准(IEEE 1149.1),主要用于解决复杂的电路板难以整体测试的问题以及表面贴装技术带来的有限测试引脚问题。 ##### 2.2 JTAG硬件结构 JTAG的硬件结构主要包括以下几个部分: - **数据寄存器(Data Register, DR)**:用于存储测试数据。 - **指令寄存器(Instruction Register, IR)**:用于存放测试指令。 - **旁路寄存器(Bypass Register)**:当不使用JTAG功能时,可以绕过其他寄存器,直接通过此寄存器传输数据。 - **测试访问端口控制器(Test Access Port Controller, TAP)**:负责控制整个JTAG测试流程,包括指令寄存器和数据寄存器的状态切换等。 - **边界扫描单元(Boundary Scan Cell, BSC)**:位于芯片内部每个引脚处,用于隔离内核逻辑电路与芯片引脚,并将两者连接起来。这些单元构成边界扫描寄存器(Boundary Scan Register, BSR)。 此外,JTAG还定义了四个外部测试访问端口: - **测试数据输入端口(TDI)**:用于输入测试数据。 - **测试数据输出端口(TDO)**:用于输出测试结果。 - **测试时钟端口(TCK)**:提供测试时钟信号。 - **测试模式选择端口(TMS)**:用于选择不同的测试模式。 ##### 2.3 JTAG烧写原理 通过JTAG烧写Flash的过程如下: 1. **连接PC与目标芯片**:将PC机的并行端口与目标芯片的JTAG端口连接起来。 2. **发送控制命令**:PC机通过并行端口向Flash的特定地址发送控制命令。 3. **数据传输**:将待烧写的Flash数据、地址和控制信号通过JTAG的TDI端口串行输入到对应的边界扫描单元。 4. **状态转换**:调用putp函数切换TAP控制器的状态,更新引脚状态。 5. **输出到Flash**:更新后的数据通过系统总线输出到JTAG,再由JTAG传输到外部Flash,完成烧写操作。 #### 三、JTAG烧写Flash在S3C44B0上的应用实例 S3C44B0是一款常用的嵌入式微处理器,支持JTAG接口。在此类芯片上应用JTAG烧写技术的具体步骤如下: 1. **硬件连接**:确保PC机的并行端口与S3C44B0芯片的JTAG端口正确连接。 2. **软件配置**:编写相应的控制程序,通过并行端口发送必要的控制信号。 3. **数据准备**:准备待烧写的程序代码或数据。 4. **执行烧写**:按照上述步骤执行烧写操作。 5. **验证结果**:烧写完成后,通过特定工具或方法验证烧写是否成功。 #### 四、总结 通过JTAG烧写Flash不仅解决了传统烧写方法存在的问题,而且具有灵活性高、可靠性好等优点。特别是在复杂的嵌入式系统中,JTAG烧写技术成为了不可或缺的重要工具之一。对于工程师来说,掌握JTAG烧写技术对于提高工作效率、降低开发成本具有重要意义。
- coffeme2012-08-03不能用,也许是\我不会用
- 粉丝: 16
- 资源: 75
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助