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

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

这是成功烧录STM32F103C8单片机的USB CDC打印信息

总共用时2S,包括全片擦Flash,写Flash,校Flash等步骤。Bin文件大小13KB

这个是GPIO模拟的SWD协议,如果采用SPI协议进行改进的话速度会更快

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

 

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的协议介绍不就不说,****上一大堆。大家自己搜索就行了(别问为什么,问就是我懒,我也是搜的)

 

下面进入正文

一、 硬件模块:

我直接贴我在用的硬件吧,自己画的PCB,自己打样的,自己焊。下面是原理图:开源STM32脱机烧录器-第一章 软硬件配置及其初始化

 

二、软件初始化

直接上STM32CUBE_MX的配置图,对于新入手的来说这个软件实在是太友好了。

1. 引脚配置

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

2.GPIO配置

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

3.TIM1配置

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

4.SPI配置

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

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

5.USB CDC配置

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

 

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

6. 时钟配置,每个人用的晶振可能不一样。到时候自己改就好了。软件回自动帮你配置好相应的时钟的

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

7.生成初始化代码

三步配置好并生成代码。根据自己的喜好选择编译器和项目名称

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

 

接下来就开始移植代码:

此处省略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

解压后:

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

最主要的几个文件:

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

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

如果大家嫌麻烦,想拿来就用。NO Problem,直接下载我的源码编译运行就好。需要多些功能的比如UI,SD卡自己移植就好了。授人以鱼也要授人以渔。请看第二部分:https://blog.****.net/u012918754/article/details/102900552