打印
[STM32F1]

SWD协议是如何把程序烧录进去的

[复制链接]
900|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renyaq|  楼主 | 2022-4-10 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通过SWD协议,我们可以访问所有的寄存器地址,但是它是怎么把hex文件写入flash呢,地址是如何访问写入的呢???

使用特权

评论回复
沙发
renyaq|  楼主 | 2022-4-10 20:49 | 只看该作者
这个问题好深奥。。

使用特权

评论回复
板凳
heweibig| | 2022-4-10 20:51 | 只看该作者
你需要看看 ARM Debug Interface

使用特权

评论回复
地板
jiajs| | 2022-4-10 20:55 | 只看该作者
你去ARM官网看看吧,这个肯定是他们规定的协议。每家也可能在此基础修改一下。

使用特权

评论回复
5
zhenykun| | 2022-4-10 20:59 | 只看该作者
SWD协议是ARM内核调试器的一种通信协议。ST的单片机stm32103系列的调试端口可以是jtag或者是SWD的端口。今天主要说一下用一个单片机的IO口模拟swd协议来烧录另一片单片机。主要参考文档<<ARM®Debug Interface Architecture Specification ADIv5.0 to ADIv5.2 >>

           SWD协议简单来说可以说是另一种方式来配置单片机内部寄存器,通过它可以配置单片机内部几乎所有的寄存器(不太严谨)。想用SWD协议和单片机进行通信首先必须了解DP,AP所相关寄存器。关于DP,AP所包含的寄存器的具体意义就自己慢慢看文档理解。我说的主要是其中可能会出问题的地方:1.当用SWD协议进行通信的时候首先是发送jtag转SWD接口的命令。2.就是关于协议的读写,我理解的是数据会在时钟的下降沿的时候进行采样(我这样写的程序没有任何问题)。在上升沿的时候进行数据的翻转。

使用特权

评论回复
6
llljh| | 2022-4-10 21:03 | 只看该作者
以上内容来自网上,你自己根据这些提示去研究吧。

使用特权

评论回复
7
renyaq|  楼主 | 2022-4-10 21:05 | 只看该作者
这个不是有下载器吗

使用特权

评论回复
8
heweibig| | 2022-4-10 21:09 | 只看该作者
使用Jlink flash

使用特权

评论回复
9
huangchui| | 2022-4-10 21:09 | 只看该作者
是不是USB对外供电了?

使用特权

评论回复
10
yszong| | 2022-4-10 21:11 | 只看该作者
ob-SWD仿真器?

使用特权

评论回复
11
stly| | 2022-4-10 21:13 | 只看该作者
直接keil下载。

使用特权

评论回复
12
heweibig| | 2022-4-10 21:17 | 只看该作者
或者使用串口下载。

使用特权

评论回复
13
shimx| | 2022-4-10 21:20 | 只看该作者

楼主的意思要自己做软件吗?

使用特权

评论回复
14
renyaq|  楼主 | 2022-4-10 21:22 | 只看该作者
想做一个离线下载器,我的主板可以对MCU进行升级

使用特权

评论回复
15
renyaq|  楼主 | 2022-4-10 21:26 | 只看该作者
串口下载要先进入BOOtloader模式,我想进行在线升级,mcu是内嵌在主控上的,很难去控制BOOT引脚

使用特权

评论回复
16
chuxh| | 2022-4-10 21:29 | 只看该作者
想自己弄个下载器哈

使用特权

评论回复
17
renyaq|  楼主 | 2022-4-10 21:33 | 只看该作者
嗯好的 我再去研究研究ADIV手册,谢谢

使用特权

评论回复
18
pengf| | 2022-4-10 21:38 | 只看该作者
ST官方有 UART做BOOT升级的资料呀,如果你想做1托多离线下载器,可以研究下SWD协议,如果只是产品使用中升级,直接串口好了。

使用特权

评论回复
19
dengdc| | 2022-4-10 21:40 | 只看该作者
如果要仔细研究,需要看官网的定义和协议的定义

使用特权

评论回复
20
wyjie| | 2022-4-10 21:43 | 只看该作者
SWD 和 JTAG 进入 ARM 处理器核心之后,其地位相当于一个 AHB 或 AXI Master。这个时候它可以停掉 ARM 核心,任意操作整颗芯片的所有外设和内存空间,写入一段程序到 RAM 给核心跑,读取或写入核心的所有寄存器,或者直接操作片上外设的寄存器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝