贴一个基于STM32的乞丐原始版SWD离线下载器MDK工程

2019-12-09 13:35发布

本帖最后由 sanjue 于 2018-9-16 16:41 编辑

        一只想做一个基于STM32的SWD离线下载器,奈何网上没有一个基于STM32的开源的(主要原因是自己菜)。
        坛子里面有许多人做出来的,我曾经发私信问过好几个坛友,希望能够咨询一下,不过没有一个人回复我...尴尬........
       看过基于STM32F103的daplink(就是那个支持拖拽下载的)的源代码,也看过cmsis daplink,程序太复杂了,初学者很难剥离出需要的代码来修改为离线下载器。
       自己之前也大致研究过这个,也只能是做到读取DP,AP,读取寄存器的程序,今天逛github,发现了一个驱动代码,于是我结合以前我写的代码,也移植了
一些别人的代码,勉强调通了SWD程序下载。
        程序是基于STM32c8t6小板做的,还没有做外界FLASH或EEPROM来存程序,只是将一个简单的程序转换为数组,存入单片机的中的。
        这个其实算不上离线下载器,但是改动一下,作为一个乞丐版的离线下载器还是可以的。
        只对STM32F103RCT6进行了测试,目标程序运行正常。

       
        最后贴上MDK工程
        同时希望有兴趣的坛友可以继续完善一下,如果您改进了这个程序,恰巧您高兴,可以贴出源代码到这个帖子,或许能够做成第一个开源的离线下载器。
如果没人后续改进,我自己也会慢慢抽时间改进。。这个过程可能很长。。
       
      (修改:添加了图片,改动文字)

        更新一些自己收集的SWD资料,我贴一个 {MOD}地址吧,我网络好像有问题,上传不了大的文件
        链接:https://pan.baidu.com/s/1yZ3mPvbIUZMwV83TYl05kw 密码:3cqx
      
        (修改:增加了一些文档资料)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
91条回答
sky_walker
1楼-- · 2019-12-14 04:53
支持一下,如果是从学习的角度,能学不少东西
sanjue
2楼-- · 2019-12-14 05:16
sky_walker 发表于 2018-9-22 16:09
支持一下,如果是从学习的角度,能学不少东西

这个做产品也没啥赚的,淘宝太多卖的了
我当初也只是想自己给生产做了一个生产工具,才萌发了自己做一个玩玩的想法
都是抽空做的,等哪天我做出来了,我会完全开源的
就是上位机我不会,只能重新慢慢学,可能会学习用python写一个吧
zxzx8059
3楼-- · 2019-12-14 09:28
 精彩回答 2  元偷偷看……
sanjue
4楼-- · 2019-12-14 11:29
zxzx8059 发表于 2018-9-22 22:56
樓主您好,git上抓的代碼,F103C8T6燒F103VE 、 F072 成功

不過F103C8T6燒NXP的KE04失敗,

你好,目前代码无法烧录NXP的
不同芯片的Flash控制寄存器的地址不一样,FLASH下载算法不一样,这个代码里只是简单的用STM32F1系列作为例子实现了简单的过程。
相信熟悉了整个过程,可以识别下载NXP系列的,也是比较容易的
linjunxiong
5楼-- · 2019-12-14 15:36
早上试了下,只要找到对应的.FLM,支持SDW接口的,应该都可以烧录的,测试了下STM32F030C8 和 ?CF130C8 可以烧录
sanjue
6楼-- · 2019-12-14 20:21
linjunxiong 发表于 2018-9-23 08:58
早上试了下,只要找到对应的.FLM,支持SDW接口的,应该都可以烧录的,测试了下STM32F030C8 和 ?CF130C8 可 ...

嗯是的,和MDK设置debug里面的芯片类型一个道理

一周热门 更多>