这是本文档旧的修订版!
开发方式:
寄存器法、标准库法、HAL库法。 在这里我用标准库函数法,因为ST公司封装的标准库很好用。寄存器法顾名思义,直接操作寄存器,就像开发51单片机那样,费时费力,较难。
软件安装和配置(下载pack):
安装:keil 5 MDK,arm单片机开发用。 keil5 MDK和keil5 C51版本可以共存,如果前面学C51安装了keil5 C51,直接安装到同一个文件夹即可。 配置:安装stm32f103c8t6芯片的pack。打开keil5,点工具栏中的pack instller(最后一个)->搜索stm32f1,右半侧选择“Keil::STM32F1xx_DFP”,点旁边的install。 注意,服务器在国外,国内下载可能要十多分钟甚至下载失败。下载失败会显示一个链接(以.pack结尾),其实就是这个。直接复制到浏览器打开下载,然后双击打开安装即可。
新建project的前置操作——
下载标准库(标准外设库,standard peripheral)和正确安装启动文件:
1. 下载STM32F10x_StdPeriph_Lib_V3.6.0(标准库函数),网址 https://www.st.com/en/embedded-software/stsw-stm32054.html ,解压zip。 2. 找到.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录,把里面全部.s文件(共8个文件)复制到一个空文件夹中(待用)。 3. 再找到.\Libraries\CMSIS\CM3\CoreSupport文件夹,把里面.h和.c文件(共2个文件)复制到一个刚才的那个文件夹中(待用)。 4. 再找到.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹,把里面.h和.c文件(共3个文件)复制到一个刚才的那个文件夹中(待用)。 5. 接下来,为了后续所有新建project的便捷,刚才的文件夹命名为Start。在今后所有新建project后,把Start文件夹复制到project目录下。
新建project:
新建project同C51,弹出manage run-time environment(新建工程小助手)关闭即可。 然后在keil5 mdk软件右侧Target1目录下新建Start,添加: startup_stm32f10x md.s core_cm3.c core_cm3.h stm32f10x.h system_stm32f10x.c system stm32f10x.h”
遇到的问题:
【2-2】新建工程-报错4个error解决方法:下载v5版本的arm编译器(我用的ARMCompiler_506_Windows_x86_b960可以)。 找到keil软件安装目录->arm目录中新建一个文件夹命名ARMCCV5COMPILER(只要安装文件夹目录在keil软件安装目录下即可)。 把v5编译器安装到该目录(另一个要选择的目录保持在c盘的appdata不变)。 最后打开keil,点魔术棒(options for target)->target选项卡->code generation选择刚刚安装的v5编译器,再次编译即可。