开源STM32脱机烧录器-第一章 软硬件配置及其初始化
前段时间被各种工作上的事情给耽误了都没时间来整理更新。今天终于有一些时间了。整理下开始更新吧。
这是成功烧录STM32F103C8单片机的USB CDC打印信息
总共用时2S,包括全片擦Flash,写Flash,校Flash等步骤。Bin文件大小13KB
这个是GPIO模拟的SWD协议,如果采用SPI协议进行改进的话速度会更快
Flash、FatFs部分代码移植 “硬石电子”
http://www.ing10bbs.com/forum.php
SWD烧写部分代码来源与ARM开源项目CMSIS DAP LINK
https://github.com/ARMmbed/DAPLink
https://os.mbed.com/handbook/CMSIS-DAP
部分代码来源于“正点原子”
SWD的协议介绍不就不说,****上一大堆。大家自己搜索就行了(别问为什么,问就是我懒,我也是搜的)
下面进入正文
一、 硬件模块:
我直接贴我在用的硬件吧,自己画的PCB,自己打样的,自己焊。下面是原理图:
二、软件初始化
直接上STM32CUBE_MX的配置图,对于新入手的来说这个软件实在是太友好了。
1. 引脚配置
2.GPIO配置
3.TIM1配置
4.SPI配置
5.USB CDC配置
6. 时钟配置,每个人用的晶振可能不一样。到时候自己改就好了。软件回自动帮你配置好相应的时钟的
7.生成初始化代码
三步配置好并生成代码。根据自己的喜好选择编译器和项目名称
接下来就开始移植代码:
此处省略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
解压后:
最主要的几个文件:
如果大家嫌麻烦,想拿来就用。NO Problem,直接下载我的源码编译运行就好。需要多些功能的比如UI,SD卡自己移植就好了。授人以鱼也要授人以渔。请看第二部分:https://blog.****.net/u012918754/article/details/102900552