使用JTAG对C8051Fxxx SoC芯片进行编程
需积分: 50 148 浏览量
更新于2024-07-29
收藏 898KB PDF 举报
本文主要介绍了如何通过JTAG接口对C8051F系列SoC芯片进行编程,特别是提到的C8051F000到C8051F012型号的芯片。这种方法允许用户使用并口线等简单设备进行编程,而无需专门的编程器,大大降低了成本。
### JTAG接口基础知识
JTAG(Joint Test Action Group)接口是一种通用的边界扫描测试协议,用于芯片的测试和调试。在C8051Fxxx芯片中,JTAG接口包含四个关键引脚:TCK(Test Clock),TMS(Test Mode Select),TDI(Test Data Input)和TDO(Test Data Output)。这些引脚分别负责时钟信号、模式选择、数据输入和数据输出。此外,还有TAP(Test Access Port)状态机,它控制着JTAG接口的操作流程。
### TAP状态机
TAP状态机是JTAG的核心部分,它执行各种指令,如TAP复位、指令寄存器扫描和数据寄存器扫描。这些操作对于在JTAG链路中进行正确的通信至关重要。
### 通过JTAG进行间接寄存器操作
1. **读间接寄存器**:允许用户读取特定的片上寄存器以获取信息。
2. **写间接寄存器**:向片上寄存器写入数据,实现配置或控制功能。
3. **查询Busy标志位**:在读写操作完成后,通过检查Busy标志位来确认操作是否完成,这是确保编程过程中不出现数据错误的关键步骤。
### FLASH编程操作
1. **读一个FLASH字节**:从芯片的内部FLASH存储器中读取数据。
2. **写一个FLASH字节**:将数据写入指定的FLASH地址。
3. **擦除一个FLASH页**:清除指定页的全部数据,通常在准备写入新数据前执行。
4. **擦除整个FLASH**:清空整个FLASH存储器,通常在进行系统级更新或初始化时使用。
### 关键寄存器
- **FLASHCON**:控制FLASH编程操作的配置寄存器。
- **FLASHDAT**:用于传输要写入或读出的数据。
- **FLASHADR**:设置要访问的FLASH内存地址。
- **FLASHSCL**:可能涉及与编程相关的控制逻辑。
### 应用笔记AN005提供的内容
此应用笔记提供了C8051F系列芯片通过JTAG进行FLASH编程所需的详细信息,并提供了示例源代码。它遵循IEEE1149.1-1990标准,这是一个关于边界扫描测试的国际标准,可以从电气与电子工程师协会(IEEE)获取更多相关信息。
### 结论
通过JTAG对SoC C8051Fxxx芯片编程的方法不仅简化了编程过程,还降低了制作低成本编程器的难度。这种方法对于开发者和制造商来说都极具价值,因为它提供了灵活性和便利性,使得在没有专用设备的情况下也能高效地对芯片进行编程。
147 浏览量
132 浏览量
148 浏览量
147 浏览量
145 浏览量
点击了解资源详情
点击了解资源详情
154 浏览量
2024-11-11 上传
DDup_2011
- 粉丝: 1
- 资源: 8
最新资源
- 2013年 " 蓝桥杯 "第五届全国软件和信息技术专业人才大赛 嵌入式设计与开发项目模拟试题——·双路输出控制器·代码.zip
- CookingApp_v1
- 国际象棋
- 图形窗口生成器 fig.m,版本 3.1:打开具有指定大小的新图形窗口-matlab开发
- front-end-samples:前端样本
- 电路方面的仿真操作 资料
- AR256_Demon_killers:预测棉花的未来价格趋势并提出合适的价格模型并缩小买卖双方之间的差距(SIH-2020)
- My-OOP-endterm-project:Bakhytzhan SE-2016
- rest:基于 https 的流星休息
- EI会议海报可编辑模板,高效解决新手小白对不知道如何制作海报的困惑
- 保险行业培训资料:一诺千金产品基础班
- state-csv.zip
- 图书馆应用
- 带有 3D 误差条的简单条形图:带有 3D 误差条的简单条形图。-matlab开发
- 保险公司讲师邀请函版本
- tamplated-road-trip