1.STM32的启动模式
STM32直接通过两个引脚Boot0和Boot1设置启动模式,如图:
主闪存存储器:运行flash代码; 系统存储器:通过串口下载。
2.程序下载的方法
(1)串口下载
MCU串口通过转换芯片将串口信号转化为USB信号,再从USB连接到电脑,实现串口与USB之间的连接。
(2)程序烧录
stm32一般采用FlyMCU进行烧录。需要在软件中设置好串口,bps,hex文件的路径。
其中一定要选中“DTR的低电平复位,RTS高电平进BootLoader”
3.库函数和寄存器的区别:
本质是一样的。可以在库函数模板中直接操作寄存器,但不能在寄存器模板中调用库函数。
4.新建工程模板——基于固件库
(1)新建一个文件夹“test”;打开MDK:项目→新μvision项目,定位到刚新建的文件夹中,并建立子文件夹“user”并保存项目“Tem”。
(2)弹出选择cpu界面,选择对应的芯片型号即可。现在test中有的文件:
Listings 和 Objects 文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件。
(3)在test目录下新建3个文件夹CORE, OBJ 以及 STM32F10x_FWLib。CORE用来存放核心文件和启动文件,OBJ用来存放编译过程文件和hex文件,STM32F10x_FWLib用来存放ST官方的库函数源码文件。
(4)将方的固件库包里的源码文件复制到我们的工程目录文件夹下面。(不同的芯片按指导进行)
(5)完成后,在MDK中右键点击 Target1,选择Manage Components.将项目名改位Tem,群组分为uesr,CORE,FWLIB再点击“Add Files”将源码添加到项目中。
(6)编译文件前先点击→output,如图选择,再点击“Select Folder for Object”更改目录为新建的OBJ方便整理。
(7)再选择C/C++→Include Paths,将含有头文件的文件夹选中。再在Define中输入:
STM32F10x_HD,USE_STDPERIPH_DRIVER。
(中容量那么STM32F10X_HD修改为STM32F10X_MD,小容量修改为STM32F10X_LD)
编译后无错误则工程模板建立成功。