SWD接口:探索&泄密&延伸】的更多相关文章

http://bbs.21ic.com/icview-871133-1-1.html 文买了个JLINKV9,以为神器,拿到手发现根本不是,完全没必要替换V8,想自己做个另类的调试器,当然想只是想而已.又过了一阵,在网上居然发现ARM的开源调试器CMSIS DAP代码,回想起来,KL25小板子貌似不就是这个么,以前居然没注意.代码量很小于是很有兴趣,修改引脚编译了下到片子里,发现设备,飞线到别的板子,进入MDK顺利调试.有了这么好的一个参考样本,琢磨着这次得研究下SWD,又因为各种事没动工.时间…
这几日看到坛里有几个关于SWD协议相关的文章,自己也尝试了下,有点体会,也有些疑惑,写出来与大家分享和交流下.    以下我的模拟SWD接口的板子简称为Host,目标MCU(即我要连接的板子)简称为Target.SWD协议         故名思议,串行总线调试接口.我们需要3根线与目标MCU相连,SWDIO,SWDCLK和GND.        -SWDIO 为双向Data口,主机到目标的数据传送.        -SWDCLK 为时钟口,主机驱动.        -GND  GND脚.   …
stm32的swd接口的烧写协议是否公开的呢? 需要用一台好的示波器来抓才能有足够的存储深度,保证你能够过滤掉那个该死的50clock. 按照Arm的手册,每次转换发送方都需要一个TNR---但是我观察JLINK的波形却没有那个该死的TNR. 手册中说异步SWD需要,同步不需要----或者相反,但是我没有找到关于同步异步的描述. 姑且不管他,反正目前忽略掉TNR就能够读到该死IDR. 另外JLINK的复位时序很奇怪,大致是 70clk High,0xe79e(注意,SWD是LSB First),…
JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如ARM.DSP.FPGA器件等.标准的JTAG接口是4线:TMS. TCK.TDI.TDO,分别为模式选择.时钟.数据输入和数据输出线. 相关JTAG引脚的定义为: TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式:TCK:测试时钟输入:TDI:测试数据输入,数据通过TD…
用SWD调试接口测量代码运行时间 关于时间测量的种种问题 在嵌入式中,我们经常需要测量某段代码的执行时间或测量事件触发的时间,常规的思路是: 1:在测量起始点,反转电平2:在测量结束点,再次反转电平 然后通过示波器或者逻辑分析仪来测量反转间隔,也就是代码时间 这种方法,在测量两个或多个时间信号同步的时候,非常有用,实际上,这也是唯一的方法. 但是如果在测量中,其它代码也会控制这个管脚电平或者周期性动作,这时便需要在<动作1>之前增加前导码,从而便于在繁杂的波形中,一眼识别出需要特定的波形 同时…
出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------------------------------------------- 作者:prife感谢:hexlog@gmail.com--------------------------------------------------------------------------------------…
找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:       我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度. 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见.       以下转自:http://www.openedv.com/posts/list/187…
一.功能 SWD模式:仿真 下载 JTAG模式:仿真 下载 二.接口 1.J-link JTAG/SWD接口 2.开发板接口电路 ①SWD模式 4根线(包片机) ②JTAG模式 20脚JTAG(网络) 10脚JTAG电路图(TQ2440开发板) 参考资料:SWD与JTAG区别及使用情况…
这几日看到坛里有几个关于SWD协议相关的文章,自己也尝试了下,有点体会,也有些疑惑,写出来与大家分享和交流下.    以下我的模拟SWD接口的板子简称为Host,目标MCU(即我要连接的板子)简称为Target.SWD协议         故名思议,串行总线调试接口.我们需要3根线与目标MCU相连,SWDIO,SWDCLK和GND.        -SWDIO 为双向Data口,主机到目标的数据传送.        -SWDCLK 为时钟口,主机驱动.        -GND  GND脚.   …
今天呢,犯了一个很严重的错误,我不知道这会产生什么样的影响,但我知道,如果我以后再没有具体的了解,仔细认真地观察,认证,只会滑到无底的深渊.做技术来不得半点虚假,切记一知半解,凡事都要弄得清楚明白,认识东西是有顺序的,从简单到困难,从外观,到内部,一个东西起什么样的作用,为什么会起这样的作用,也是很重要的,一直以来,我都认为自己是一个很较真的人,但最近发现,我都没有把把这优点用到正地方,好了,开始今天的正题,今天,讲的是我犯的一个错误,一个技术不该犯得错误. 这篇文章是给自己提个醒,给自己一个承…
在开发时可能需要回读保护功能,在产品出厂后这个功能可以让你的代码更加安全,无法用SEGGER或者其余方式读取你的代码HEX文件,也就是禁用SWD下载接口.但是SWD锁住了,还想使用(从新下载代码)也是可以解锁的,但是注意,当你解锁时,会直接擦除Flash中的代码,也防止代码被强制读取. 开发准备:nrf52840或者nrf52832(原理一样).SDK包例程或者程序一个 功能实现: 想要实现禁用SWD的功能,一种方式在程序中对UICR APPROTECT寄存器进行设置,就可以进行禁用,当然也可以…
#include "stm32f10x.h"#include "key.h" //按键初始化函数void KEY_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin…
discovery板上的6pin swd接口 20pin 的jtag 接线: 6 20 def 1 1 目标vdd 2 9  swclk(PA14) 3 20 gnd 4 7  swdio(PA13) 5 15 NRST…
工欲善其事,必先善其器.调试器在嵌入式开发调试中的重要性不言而喻,单步.断点和监察的效率远高于串口打印.但是,调试器对于一般开发人员往往是一个黑匣子.今天我们就来谈谈调试器的原理,顺便把自己的几类调试器接线和注意事项记录下来,以便查找.我常常要面对几个方案,而各个方案的调试器都不一样,接线有时连自己都记不住.所以这个帖子应值得嵌入式开发工程师收藏. 一.嵌入式调试多样性 我们先来回想调试的场景,思考一下这几个问题: 1. ARM开发环境有Keil.IAR.ADS等等,我们发现这几个平台都能用同一…
stm32——Flash读写 一.Flash简介 通过对stm32内部的flash的读写可以实现对stm32的编程操作. stm32的内置可编程Flash在许多场合具有十分重要的意义.如其支持ICP(In Circuit Programming,在电路编程:在线编程)特性使得开发人员对stm32可以警醒调试开发,可以通过JTAG和SWD接口对stm32进行程序烧写:支持IAP(In Application Programming,在应用中编程)使得开发人员可以在stm32运行程序的时候对其内部程…
iHMI43智能液晶模块 2013 版改进内容: 本着精益求精的态度,新版(2013版) iHMI43 模块发布了,在保证了与老版本(2012版)软件.机械尺寸兼容的情况下,改进了部分电路,使接口更合理,功耗更低,使用更方便.已经应用在自己产品中的老客户不用担心,新模块可直接代替老模块. 具体更新内容如下: ■ 改进了电源方案,使用BUCK电路代替 LDO ,功耗从 300mA降低到 180mA左右(5V供电):功耗降低了 40%:新版电源示意图如下图所示: 2013版 iHMI43 可以一下两…
Jlink V7在MDK下使用Cortex-M3-Jlink模式开发STM32的说明   开发环境:STM32F103RB(128K Flash 20K RAM)+MDK3.50+JLINK V7(v4.04) mdk3.50 新增一种cortex-ms-Jlink调试模式,可以很好地支持Jlink.Jlink-SWD调试,无RDI需要按复位的缺点.烧写速度比RDI慢一些. 1 软件安装 1.1 安装Segger jlink V4.04驱动 安装在c:\Program Files\SEGGER\…
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision…
简介: 支持所有带SWIM接口的STM8系列单片机 支持所有带SWD接口的STM32系列单片机 完全兼容Keil,STVP,STVD,IAR,COSMIC,STM32 ST-LINK Utility! 支持固件自动升级,以确保 ST 公司产品后续支持. 编程功能:可烧写FLASH ROM.EEPROM.AFR等. 仿真功能:支持全速运行.单步调试.断点调试等各种调试方法,可查看IO状态,变量数据等等. 仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快! 编程性能:采用U…
ICP 的意思是 "在电路编程"(in Circuit Programming),PC 电脑可以运行 “NuMicro ICP Programming Tool”软件通过 Nu-Link 的 SWD 接口(serial wire debug) 去更新目标板上的 APROM, LDROM, Data Flash 和用户配置字.ISP 的意思是“在系统编程”(In System Programming),目标板通过运行 LDROM 里的启动/加载代码调用外部的接口,如 USB/UART/S…
开发板上的下载口位置一般都有很多 340,232等芯片,这些芯片都是干嘛用的呢? 普及:TTL电平    : 二进制电平,+5V等价于逻辑"1",0V等价于逻辑"0". RS232电平: 二进制电平,(-3V--15V)等价于逻辑"1",(+3-+15V)等价于逻辑"0". 下载的程序最终要和单片机的串口引脚发送接受引脚进行连接,而他们的引脚只能识别TTL电平. ch340,pi2303,是同一类的芯片都是将USB信号转化为单…
在使用Jlink SWD模式进行下载的时候遇到了无法下载的问题. SWD模式下,共有4跟线,VCC.GND.SWCLK.SWDIO JTAG标准接口如下图所示: 一般情况下,目标板卡的 debug VCC是与JTAG接口或者SWD接口的 1 号引脚接在一起的.全功能的jlink的 1号 引脚有一个特殊的功能 Vref,为jlink内部的缓冲芯片供电,提供参考电压,这里接入几伏电压,缓冲芯片的IO就提供几伏电压,起到了一个电平匹配的作用. 如果你的jlink是全功能的,那么你就需要为这个 jlin…
引脚介绍 引脚是控制I/O引脚的基本对象.它可以设置引脚输入.输出等的方式或者获取和设置数字逻辑电平的.对于模拟控制引脚,请参见ADC类.TPYBoard一共有68根针脚,26个3.3V,VIN接口:30个通用IO口,包括2个SPI接口,2个CAN接口,2个I2C接口,5个USART接口,14个12bitADC接口,2个DAC引脚,并且比官方PYBoard增加了SWD接口,更加完美. TPYboard所有的引脚都定义为pyb.Pin.board.Name: y1=pyb.Pin.board.Y1…
TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用dfu方式烧写固件比用swd烧写固件模式更加简单,不需要ST-Link仿真器,只需要一个软件辅助就好, DfuSe_Demo下载地址:http://www.tpyboard.com/download/drive/7.html. 软件下载好了我们就可以升级我们手中TPYBoardv10x开发板的固件了…
Python的火热让其运行在MCU端的MicroPython也逐渐迎来了春天.MicroPython的出现让Python这种"胶水语言"成功引用到嵌入式领域,也使得Python控制单片机成为可能.MicroPython丰富的类库.高效的开发效率以及超强的硬件访问能力等等,将逐渐在物联网嵌入式系统中承当越来越大量的任务,并将逐步超越其他语言成为物联网开发的一大利器. MicroPython开发板现状 目前MicroPython的官方板是PYBoard,但是这个板子比较少见,价格也比较贵.…
Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评估和开发nRF51/52应用解决方案(虽然本文更多的是站在硬件工程师角度来阐述,但是很多章节对软件开发者也是适用的) 第1步:选型评估.这个主要通过查阅nRF51/52 spec来实现的.nRF52只有一份spec,spec包含了芯片外设模块功能概述,电气特性参数,应用参考电路,封装和订购信息等内容…
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第8章   STM32H7的终极调试组件Event Recorder 本章节为大家介绍终极调试方案Event Recoder,之所以叫终极解决方案,是因为所有Link通吃,支持时间测量,功耗测量,printf打印,RTX5及其所有中间件调试信息展示. 8.1 重要提示(必读) 8.2 Event Recorder简介 8.3 创建工程模板和注意事项 8.4 Ev…
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第7章   STM32H7下载和调试方法(IAR8) 本章教程为大家介绍如何创建IAR8工程,配置方法以及经常用到的一些配置项. 7.1 初学者重要提示 7.2 使用IAR调试和下载程序设置(JLINK) 7.3 使用IAR调试和下载程序设置(STLINK) 7.4 IAR程序调试 7.5 总结   7.1   初学者重要提示 如果使用JLINK调试下载STM3…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis MCU开发板板载OpenSDA调试器(上篇). 众所周知,嵌入式软件开发几乎离不开调试器,因为写一个稍有代码规模(5K行以上)的嵌入式应用程序一般不可能一次性搞定,没有任何bug,出了bug并不可怕,只要我们能尽快定位bug并修复即可,调试器就是定位bug的利器,有了调试器我们便可以进入系统主控芯片内部一窥究竟,控制芯片执行代码的动作,实时查看芯片内部状态,辅以各种调试技巧让bug无处藏身. 飞思卡尔Kine…