开源SWD脱机烧录器-第一章 软硬件配置及其初始化

/********************2020.03.02更新********************/

感谢博友的提醒我忘记上传Qt源码了,这就补上

https://gitee.com/airtech/offline_Qt

/**********************************************2020.01.20*****************************************/

开源地址:https://gitee.com/airtech/offline_burner

前段时间被各种工作上的事情给耽误了都没时间来整理更新。今天终于有一些时间了。整理下开始更新吧。

/***********************************************分割线**********************************************/

2019.12.31更新

授人以渔,授人以小鱼

1. 断断续续用了一个月时间把GPIO模拟SWD改成了SPI+GPIO模拟SWD。速度更快,波形也更漂亮。

2. 还重写了上位机。之前的上位机因为C++还是为入门都是各种百度来的,所以性能很差。我居然用一个大大大数组去存读取到文件内容导致加载几十K的文件后整个上位机就卡死了。现在重写了上位机摒弃了之前的LOW方式。

3. 硬件也改了一些,之前是SWC/SWD都上拉,现在改成SWC下拉,SWD上拉,更适合SPI方式。

4. 烧录速度:完整烧录128K文件(单片机型号STM32F103RBT6)用时6.35S。整个过程包括“全片擦除+FLash读取解密烧录+校验”速度和市面上脱机烧录器的速度差不多。

Flash、FatFs部分代码移植 “硬石电子” 和“正点原子”

http://www.ing10bbs.com/forum.php      

http://www.ing10.cn/

SWD烧写部分代码来源与ARM开源项目CMSIS DAP LINK 

https://github.com/ARMmbed/DAPLink

https://os.mbed.com/handbook/CMSIS-DAP

部分代码来源于“正点原子”

http://www.openedv.com/

SWD的协议介绍不就不说,CSDN上一大堆。大家自己搜索就行了(别问为什么,问就是我懒,我也是搜的)

下面进入正文

一、 硬件模块:

我直接贴我在用的硬件吧,自己画的PCB,自己打样的,自己焊。下面是原理图:

二、软件初始化

对于新入手的来说可以直接用STM32CUBEMX来配置,我的软件里面也有配置好的,直接打开就行了。

对于大神来说使用移植过程中遇到什么bug请记得告诉我OTZ,毕竟我也是菜鸟

接下来就开始移植代码:

此处省略10000字。HAL库串行FLASH FatFs大家可以去参考“硬石电子”的文章,46-49例

http://www.ing10bbs.com/forum.php?mod=viewthread&tid=291&extra=

然后移植本次的主角SWD烧录协议:

1.从Git上下载CMSIS DAP的源码https://github.com/ARMmbed/DAPLink

解压后:

最主要的几个文件:

DPA.c/error.c/SW_DP.c/target_flash.c/swd_host.c/flash_blob.c

DPA.h/error.h/SW_DP.h/target_flash.h/swd_host.h

DAP_config.h
DAP.h

下面就开始移植了
————————————————
版权声明:本文为CSDN博主「airtech」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012918754/article/details/102898822

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值