![JTAGSWDJLink等 介绍_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/42213ebe-0185-4967-b1f1-fb36413de053/42213ebe-0185-4967-b1f1-fb36413de0531.gif)
![JTAGSWDJLink等 介绍_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/42213ebe-0185-4967-b1f1-fb36413de053/42213ebe-0185-4967-b1f1-fb36413de0532.gif)
![JTAGSWDJLink等 介绍_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/42213ebe-0185-4967-b1f1-fb36413de053/42213ebe-0185-4967-b1f1-fb36413de0533.gif)
![JTAGSWDJLink等 介绍_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/42213ebe-0185-4967-b1f1-fb36413de053/42213ebe-0185-4967-b1f1-fb36413de0534.gif)
![JTAGSWDJLink等 介绍_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/42213ebe-0185-4967-b1f1-fb36413de053/42213ebe-0185-4967-b1f1-fb36413de0535.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、stm32 JTAG和SWD的使用区别搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手段,彼此之间的关系却也不是特别清楚,今天就来捋一捋:JTAG协议JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为: TMS:测试模式选择,TMS用来设置JT
2、AG接口处于某种特定的测试模式; TCK:测试时钟输入; TDI:测试数据输入,数据通过TDI引脚输入JTAG接口; TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;JTAG协议在定义时,由于当时的计算机(PC机)普遍带有并口,因而在连接计算机端是定义使用的并口。而计算机到了今天,不要说笔记本电脑,现在台式计算机上面有并口的都很少了,取而代之的是越来越多的USB接口。所以,目前市场上已经很少看到它的身影了。SWD接口串行调试(Serial Wire Debug),应该可以算是一种和JTAG不同的调试模式,使用的调试协议也应该不一样,所以最直接的体现在调试接口上,与JTAG的20个
3、引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。SWD和传统的调试方式区别: SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的,只要你的仿真器支持,所以推荐大家使用这个模式。 在大家GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚。 在大家板子的体积有限的时候推荐使用SWD模式,它需要的引脚少,当然需要的PCB空间就小啦!比如你可以选择一个很小的2.54间距的5芯端子做仿
4、真接口。RDI接口远程调试接口(Remote Debug Interface),是ARM公司提出的标准调试接口,主要用于ARM芯片的仿真,由于各个IDE厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口,因此使跨平台的硬件调试成为可能。EasyJTAG由于使用标准RDI调试接口,因此在任何使用标准RDI接口的IDE调试环境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。JLink仿真器J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型U
5、SB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。ULink仿真器ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULIN
6、K2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。ST-Link仿真器ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有: 编程功能:可烧写FLASH ROM、EEPROM、AFR等; 仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等; 仿真性能:采用USB2.0接口进行仿真调试,单步调试
7、,断点调试,反应速度快; 编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;CMSISARM Cortex 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces来自ARM
8、官方定义)。 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。软件的创建被嵌入式行业公认为主要成本系数。通过在所有Cortex-M 芯片供应商产品中标准化软件接口,这一成本会明显降低,尤其是在创建新项目或将现有软件迁移到新设备时。最新版本的CMSIS为4.5。CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。CMSIS软件层次CMSIS可以分为多个软件层次,分别由ARM公司、芯片供应商提供。其中ARM提供了下列部分,可用于多种编译
9、器: 内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助手函数。同时也为RTOS(实时操作系统)定义了独立于微控制器的接口,该接口包括调试通道定义。 中间设备访问层:为软件提供了访问外设的通用方法。芯片供应商应当修改中间设备访问层,以适应中间设备组件用到的微控制器上的外设。目前中间设备访问层仍处于开发过程中,本文不做详述。 芯片供应商扩展下列软件层: 微控制器外设访问层:提供片上所有外设的定义。 外设的访问函数(可选):为外设提供额外的助手函数。CMSIS为Cortex-Mx微控制器系统定义了: 访问外设寄存器的通用方法和定义异常向量的通用方法。 内核设备的寄存器名称和内核
10、异常向量的名称。 独立于微控制器的RTOS接口,带调试通道。 中间设备组件接口(TCP/IP协议栈,闪存文件系统)。CMSIS包含的组件1、外围寄存器和中断定义: 适用于设备寄存器和中断的一致接口2、内核外设函数:特定处理器功能和内核外设的访问函数3、DSP 库:优化的信号处理算法,并为 SIMD 指令提供Cortex-M4 支持4、系统视图说明(SVD):描述设备外设和中断的XML 文件。该标准完全可扩展,可确保其适合于所有 Cortex-M处理器系列微控制器,从最小的8 KB 设备到具有复杂通信外设(如以太网或USB)的设备。(内核外设函数的内存要求少于1 KB 代码,少于10 字节RAM
11、)。基于CMSIS应用程序的基本结构CMSIS-外设访问层的文件基于CMSIS应用程序的基本结构独立于编译器的文件: Cortex-M3内核及其设备文件(core_cm3.h + core_cm3.c) 访问Cortex-M3内核及其设备:NVIC,SysTick等 访问Cortex-M3的CPU寄存器和内核外设的函数 微控制器专用头文件(device.h) 指定中断号码(与启动文件一致) 外设寄存器定义(寄存器的基地址和布局) 控制微控制器其他特有的功能的函数(可选) 微控制器专用系统文件(system_device.c) 函数SystemInit,用来初始化微控制器 函数Sysem_Ext
12、MemCtl,用来配置外部存储器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳转到main前调用SystemFrequncy,该值代表系统时钟频率 微控制器的其他功能(可选)编译器供应商+微控制器专用启动文件 编译器启动代码(汇编或者C)(startup_device.s) 微控制器专用的中断处理程序列表(与头文件一致) 弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖)ispISP,即In-System Programming,在线编程。具有ISP功能的单片机芯片,可以通过简单的下载线直接在电路板上给芯片写入或者擦除程序,并且支持在线调试。ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。ISP技术是未来发展方向。ISP的工作原理ISP 的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司贷款欠款合同范本
- 办公采购合同范本
- 企业食堂经营合同范本
- 中国CD盘存放盒项目投资可行性研究报告
- led车租赁合同范例
- 加工外包协议合同范本
- 保健按摩工作合同范本
- 出售转让剪板机合同范本
- 乌鲁木齐环氧树脂固化剂项目可行性研究报告范文
- 内部供水合同范本
- 2023-2024学年浙江省杭州市小学语文六年级上册期末深度自测试题
- GB/T 19868.2-2005基于焊接经验的工艺评定
- 第一章:智能控制概论-课件
- 兰州牛肉面攻略课件
- 机房巡检记录表
- 警灯、警报器使用证申请表
- (中职)电梯维护与保养项目九 电梯曳引系统的维护与保养教学课件
- 中国科学院率先行动计划组织实施方案
- 园林规划设计16_任务三-交通广场绿地设计
- 节制闸工程施工组织设计方案
- 《新媒体广告设计》—教学教案
评论
0/150
提交评论