jTag

Output debug via printf on a Cortex-M3 CPU, stalls at BKPT instruction + confusion about JTAG and sw ports

∥☆過路亽.° 提交于 2020-01-21 05:16:30
问题 I have a Keil ULINK2 USB emulator box attached to the JTAG connector on my board, which is working fine with the Cortex-M3 CPU onboard (TI/Stellaris/LuminaryMicro LM3S series). It seems that both a JTAG and a SWJ-DP port share the same pins (and thus connector on your board) on these CPUs. One appears not to have ITM (printf) capability, the other does. The previous firmware people have always used stdio to UART (serial port), but I need the serial port freed up so that debug messages do not

ARM JTAG SWD SWO SWV

百般思念 提交于 2020-01-20 02:49:23
JTAG - Joint Test Action Group JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容) Test Access Port and Boundary-Scan Architecture 主要用于芯片内部测试 及对系统进行仿真、调试。 现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。 通常所说的JTAG大致分两类, 一类用于测试芯片的电气特性,检测芯片是否有问题; 一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。 一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备 标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 ARM系统的JTAG接口 接口是一个20脚的IDC插座。下表给出了具体的信号说明 序号 信号名 方向 说 明 1 Vref Input 接口电平参考电压,通常可直接接电源 2 Vsupply Input 电源 3 nTRST Output (可选项) JTAG复位。在目标端应加适当的上拉电阻以防止误触发。 4 GND -- 接地 5 TDI Output Test Data In from Dragon

stm32的两种固件下载模式:JTAG和SWD

江枫思渺然 提交于 2020-01-20 02:48:46
一、JTAG模式 这种模式一般有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的。值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。 Test Clock Input (TCK) -----强制要求1:TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。 Test Mode Selection Input (TMS) -----强制要求2:TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。 Test Data Input (TDI) -----强制要求3:TDI在IEEE1149.1标准里是强制要求的。TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。 Test Data Output (TDO) -----强制要求4:TDO在IEEE1149.1标准里是强制要求的。TDO是数据 输出 的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。 Test Reset Input (TRST) -

JTAG应该如何接线

泄露秘密 提交于 2020-01-20 02:46:18
下面是某个ARM9评估板的原理图: 注意: 1. Vref和Vtarget可以直接连在一起,由被调试板提供3.3V或5V电源; 2. nTRST,最好上拉; 3. TDI,最好上拉 4. TMS,最好上拉 5. TCK 6. TDO 7. RST接到MCU的复位引脚上去,最好上拉; PDF1 PDF2 IEEE 1149.1 标准 1149.1与1149.7的区别 如果要更小的JTAG插座,那么按下面的方法来: http://www.cnblogs.com/jeakon/archive/2012/10/07/2813683.html JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下。 一、引脚定义 Test Clock Input (TCK) -----强制要求1 TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。 Test Mode Selection Input (TMS) -----强制要求2 TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。 Test Data Input

JTAG各类接口针脚定义及含义

巧了我就是萌 提交于 2020-01-20 02:44:23
注:转自 揽月阁 JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下。 一、引脚定义 Test Clock Input (TCK) -----强制要求1 TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。 Test Mode Selection Input (TMS) -----强制要求2 TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。 Test Data Input (TDI) -----强制要求3 TDI在IEEE1149.1标准里是强制要求的。TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。 Test Data Output (TDO) -----强制要求4 TDO在IEEE1149.1标准里是强制要求的。TDO是数据 输出 的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。 Test Reset Input (TRST) ---- 可选项1 这个信号接口在IEEE 1149

干货分享,单片机常用电路介绍,有图有真相

亡梦爱人 提交于 2020-01-10 10:26:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在我们设计单片机电子电路时,常用应用到一下比较常用的电路,每次都需要重新画,即费力又费神,还容易出错,所以本人将自己常用的电路设计成模块,每次使用直接负责即可。由于个人的力量有限,希望大家把自己常用的电路发上来分享。电路难免有错,希望大家指出。。。 1. RS232通讯电路 双路232通信电路:3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232。 2. 三极管串口通讯 三极管串口通信:本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。 3. 单路RS232通讯 单路232通信电路:三线方式,与上面的三级管搭的完全等效。 4. USB转RS232 USB转232电路:采用的是PL2303HX,价格便宜,稳定性还不错。 5. 复位电路 SP706S复位电路:带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试完后焊接好R4。 6. SD卡模块电路 SD卡模块电路(带锁):本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V和3.3V。但是要注意,有些器件的使用,5V和3.3是不一样的。 7. LCM12864液晶显示电路 LCM12864液晶模块(ST7920):本电路是常见的12864电路,价格便宜

创龙TI KeyStone C66x多核定点/浮点DSP TMS320C665x 启动拨码开关、JTAG仿真器接口

回眸只為那壹抹淺笑 提交于 2020-01-07 01:00:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL665x-Easy EVM是 广州创龙基于SOM-TL665x核心板研发的 一款 TI C66x多核定点/浮点高性能DSP开发板, 采用核心板+底板 方式,底板 尺寸为 200 mm* 106.65 mm, 采用4*50pin和1*80pin B2B工业级连接器 , 稳定、可靠、便捷,可以帮助客户 快速评估 核心板 性能。 SOM-TL665x 核心板采用高密度沉金无铅工艺 8 层板设计,尺寸为 80 mm* 58 mm,采用 T I KeySton e C66x多核定点/浮点DSP TMS320 C665x高性能工业DSP处理器。采用 耐高温、体积小、 精 度高的B2B连接器,引出了核心板的全部接口资源,帮助开发者快速进行二次开发 。 启动 拨码 开关 SW 2 设有 5 位启动 拨码 开关, ON 为 1,硬件及引脚定义如下图 : JTAG仿真器接口 开发板引出 1个 TI Rev B JTAG 接口( CON 4 ),间距为 2.54mm, DC3-14P简易牛角座, 硬件及引脚定义如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3152537

想学习单片机?先从单片机的最小系统入手吧

不羁的心 提交于 2020-01-06 23:23:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文主要讲解单片机的最小系统,内容基础,适合初学者,如有介绍不详的地方请大神们抬手包含并留言讨论。 1. 什么是单片机的最小系统 单片机的最小系统是指能保证单片机能正常工作所需要的最少电路,即在忽略外设电路的情况下,就是能让单片机正常工作的最低配置,最小系统是单片机系统中所必须的。 单片机板 2. 最小系统包含哪些电路 单片机的最小系统一般包含如下几个电路: 1)复位电路 单片机的复位有两种情况:复位引脚出现高电平复位,如STC的51单片机;复位引脚出现低电平复位,如STM32单片机。当单片机的复位引脚上出现两个周期以上的复位电平时,单片机复位,程序要从头开始执行。 复位电路 2)晶振电路 晶振电路也叫做时钟电路,时钟电路为单片机系统提供基本的时钟信号。单片机可以使用外部晶振,也可以使用内部晶振,相对而言外部晶振更精确,也不是所有的单片机都有内部晶振。常用的外部晶振有4M、8M、11.0592M、12M等,配合20-30pF的电容来使用。晶振有有源和无源晶振之分,无源晶振电路图如下所示: 晶振电路 3)电源电路 电路要工作必须要有电,单片机的工作范围一般为DC5V或者DC3.3V,STC89C51单片机的工作电压为3.8-5.5V;LPC11C14的供电电压为1.8-3.6V;STM32单片机的供电范围为2.0

Controlling a Windows Console App w/ stdin pipe

吃可爱长大的小学妹 提交于 2020-01-03 00:51:12
问题 I am trying to control a console application (JTAG app from Segger) from Python using the subprocess module. The application behaves correctly for stdout, but stdin doesn't seem to be read. If enable the shell, I can type into the input and control the application, but I need to do this programmatically. The same code works fine for issuing commands to something like cmd.exe. I'm guessing that the keyboard is being read directly instead of stdin. Any ideas how I can send the application input

How to use the GDB (Gnu Debugger) and OpenOCD for microcontroller debugging - from the terminal?

自古美人都是妖i 提交于 2019-12-29 02:34:07
问题 The standard (low-cost) way to program ARM microcontrollers is using Eclipse with a complex toolchain plugged into it. Eclipse has definitely its merits, but I'd like to feel independent from this IDE. I'd like to discover what happens behind the scenes when I build (compile - link - flash) my software, and when I run a debug session. To get such deeper understanding, it would be wonderful to run the whole procedure from the command line. Note: I'm using 64-bit Windows 10. But most stuff