首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
stm32 swd协议
2024-09-04
调试备忘录-SWD协议解析
目录--点击可快速直达 目录 写在前面 1 SWD协议简介 2 SWD物理层协议解析 2.1 SWD通信时序分析 2.2 SWD 寄存器简介 2.2.1 DP寄存器 2.2.2 AP寄存器 2.3 SWD通信流程 2.3.1 SWD复位 2.3.2 SWD读IDCODE 2.3.3 SWD清除错误标志位,并且使能AP调试 2.3.4 SWD读取AP IDR(也就是AP寄存器的ID CODE) 2.3.5 SWD读写MCU任意寄存器 写在前面 最近由于公司需要,所以就做了个
Stm32 SWD 下载 调试配置
找到一篇比较好的 关于stm32 SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度. 而使用SWD接口下载调试,只需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见. 以下转自:http://www.openedv.com/posts/list/187
STM32:SWD下载方式
最近没事干做了个STM32小板子,芯片是STM32VBT6,下载方式用的SWD,比JTAG节省空间 我用了五根线,3.3V,GND,RESET,SWDIO,SWCLK, JTAG 接口pin map:Jlink 我用了五根线,3.3V-pin1,GND-pin4,RESET-pin15,SWDIO-pin7,SWCLK-pin9, 我的第一块STM32板子吼吼,庆贺一下
STM32 SWD下载口无法下载的原因和解决办法
1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导致内核停止工作,这就意味着内核被锁,这时候已经无法把程序下载进去了. 解决的办法就是用ISP方式下载程序进去冲刷一遍,然后就好用了. 除非使能了读保护,不然一般不会锁死的.--来自网贴评论 解锁的方法: A. 用JLINK链接,把板子的的BOOT0置高,此时就已经可以识别芯片了,芯片解锁,然后将BO
STM32——CAN协议帧的标准格式和扩展格式与优先级的关系
一.CAN数据帧的标准格式和扩展格式 我们知道CAN总线上的数据帧都可以配置一个ID号,其可以为11位(标准ID格式)或者29位(扩展ID格式),这也是数据帧的标准格式和扩展格式的区别所在. 这个ID在CAN优先级中起着重要的作用,它决定了数据帧发送的优先级.对于优先级高的信息,可以给他打包上一个高优先级的ID,使它能够及时的发送出去. RTR:用于区分此帧是数据帧还是遥控帧,显性电平(逻辑0)表示数据帧,隐性电平(逻辑1)表示遥控帧. 数据帧:包含了我们要传输的数据的帧,用于往总线上发送数据.
也谈SWD接口协议分析
这几日看到坛里有几个关于SWD协议相关的文章,自己也尝试了下,有点体会,也有些疑惑,写出来与大家分享和交流下. 以下我的模拟SWD接口的板子简称为Host,目标MCU(即我要连接的板子)简称为Target.SWD协议 故名思议,串行总线调试接口.我们需要3根线与目标MCU相连,SWDIO,SWDCLK和GND. -SWDIO 为双向Data口,主机到目标的数据传送. -SWDCLK 为时钟口,主机驱动. -GND GND脚.
stm32学习基本知识点
1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用 3. HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz 4. LSE Osc(Low Sp
SWD通讯
这几日看到坛里有几个关于SWD协议相关的文章,自己也尝试了下,有点体会,也有些疑惑,写出来与大家分享和交流下. 以下我的模拟SWD接口的板子简称为Host,目标MCU(即我要连接的板子)简称为Target.SWD协议 故名思议,串行总线调试接口.我们需要3根线与目标MCU相连,SWDIO,SWDCLK和GND. -SWDIO 为双向Data口,主机到目标的数据传送. -SWDCLK 为时钟口,主机驱动. -GND GND脚.
JLINK、ULINK和STlink仿真器详解
JLink仿真器 德国SEGGER公司推出基于JTAG的仿真器.简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议.它完成了一个从软件到硬件转换的工作. ULINK仿真器 现在普遍用到的是ULINK2,它是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink仿真器的升级版本.ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能.开
关于LWIP断开网线后重连问题(热插拔问题)
近期在弄STM32+LWIP协议.在网络拔掉网线情况下.无法又一次连接. 网上找了好多方法都没有实现,着实郁闷! 后来无意间看到了临时解决这一问题的方法.尽管不是那么完美,但最算能解决这个问题.分享给大家. 问题:LWIP建立一个TCPserver,收发数据也正常.可是client非正常断线-如client掉电,突然拔掉client的网线,然后又一次连接server,就连接不上了. 原因:LWIP_CLOSE(),在非正常断线情况下使用不知道有什么还占着内存释放不了,没法正常释放资源. 有高手知
芯片下载相关-CH32系列芯片下载方式汇总及教程
一.CH32Fx系列芯片下载 1.ISP下载: 2.SWD下载 3.脱机烧录器下载: 二.CH32Vx系列芯片下载 1.ISP下载: 2.SWD下载: 3.脱机烧录器下载: 4.CH32V003下载注意事项: 一.CH32Fx系列芯片(文档中添加的文件可以直接右击下载) 1.ISP下载 注意:对CH32F103进行下载时如外接晶振,晶振大小只能使用8M. 具体评估板操作流程以及下载说明可以下载相应芯片的EVT包,查看PUB文件夹下面的评估板说明书.相应芯片的官网链接如下: https://www
stm32的swd接口的烧写协议是否公开的呢?
stm32的swd接口的烧写协议是否公开的呢? 需要用一台好的示波器来抓才能有足够的存储深度,保证你能够过滤掉那个该死的50clock. 按照Arm的手册,每次转换发送方都需要一个TNR---但是我观察JLINK的波形却没有那个该死的TNR. 手册中说异步SWD需要,同步不需要----或者相反,但是我没有找到关于同步异步的描述. 姑且不管他,反正目前忽略掉TNR就能够读到该死IDR. 另外JLINK的复位时序很奇怪,大致是 70clk High,0xe79e(注意,SWD是LSB First),
STM32 Bootloader基于ymodem传输协议串口IAP升级详解
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 2.3 Keil工程IAP的相关设置 2.3.1 修改Flash地址 2.3.2 使用自己的链接脚本 2.3.3 下载固件 3 Application 3.1 启动流程 3.2 IAP中的引导部分 3.3 关于 VTOR 3.4 Keil工程设置 3.4.1 Flash地址设置 3.4.2 hex2
FPGA作为从机与STM32进行SPI协议通信---Verilog实现 [转]
一.SPI协议简要介绍 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议. SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外
【转】keil+stm32+jlink利用swd方式进行printf输出
出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------------------------------------------- 作者:prife感谢:hexlog@gmail.com--------------------------------------------------------------------------------------
STM32的JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这里只是总结记录一下): 1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) 2:GPIO_PinRemapConfig(GPIO_Rem
STM32菜鸟成长记录---RS485通讯协议的应用
写作原因:近来蛋闲?非也 ! 昨天一同事合作的项目代码出现的bug-----他的上位机每200ms给我发送命令向我这边下位机读取一些数据,在此过程会按下按键做一些另外操作并给他返回数据:(通信是通过) 1.他定时200ms给我发回指令,我应该给他返回字符串: @VUMultiGet(Out_1, -inf dBFS, Normal, Out_2, -inf dBFS, Normal, Out_3, -inf dBFS, Normal, Out_4, -inf dBFS, Normal, Ou
stm32 Bootloader设计(YModem协议) (转)
源:stm32 Bootloader设计(YModem协议) 相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootload设计.所以就仔细的去了研究了一翻.以前都是用的stm32官方的,没有去深入了解.这次做完了过后,发现官方的版本存在一些问题.比如说YModem传送过程中,完全没有对数据区进行效验,只是核对了下编号,就进行烧写.整个程序完全为阻塞式,浪费了大量的cpu做无用功.当然这在升级程序方面也用不了多少时间
stm32串口接收中断协议解析
借鉴了文章:<stm32串口中断接收方式详细比较> 文章地址:http://blog.csdn.net/kevinhg/article/details/40186169 串口的配置这里不做说明,仅对中断中的协议解析进行描述 数据帧协议: 帧头1 帧头2 数据长度 有效数据 crc_1 crc_2 B5 5B 03 00 57 0B 帧头1+帧头2+数据长度(包含有效数据.crc_1.crc_2)+有效数据 + crc_1 + crc_2(校验为帧头到有效数据) crc16校验未深入学习,代码也
STM32的SWD调试进不了main函数
玩了那么久STM32,还没有用SWD调试过程序(一直都是用printf调试程序),觉得有些落后了,于是开始搞起了SWD调试. 很快通过查阅资料,知道了keil里面的配置和ST-Link与STM32的连接方式,但是在调试时就是进不了main函数,具体的现象就是能够下载程序,但是进入调试后,进入的是如下页面: 一开始就是全速运行,而没有现象,而且是在某个地方死循环,就是进不了自己写的程序里. 查了好几个小时,一直都认为keil配置有问题. 最终,不晓得哪里来的灵感,将boot0和boot1都改成0,
热门专题
spring threadlocal 会话管理
java safari下载文件名称乱码
Vue CLI原型开发
python 多进程 读写冲突问题
hana 时间加8小时
html英文()传到后台被转化为(
js 正则匹配某一函数
如何写页面星星闪烁动画
Input.TextArea 一直是disabled
JavaScript 先序遍历
微信企业号 corpsecret
uniapp的title上面多个标签
.netcore学习
C# 各种值的默认值
echarts legend自定义图标
servu设置主动和被动模式
vc6 memcpy崩溃
uView的table数据多了样式乱了
mysql修改指定表数据
Python html title中文显示