一、换启动文件
startup_stm32f10x_hd.s ------> startup_stm32f10x_md.s
二、打开魔术棒,修改Device
三、更换全局宏定义
在这里改成STM32F10X_MD,USE_STDPERIPH_DRIVER
最后,keil可能会出现Flash Download failed -“Cortex-M3的错误,
应该是Debug->setting->connect中没有选择“under Reset”导致出错!
此外,如何根据stm32芯片选择启动文件
stm32建立工程:
(软件准备,1.安装mdk keil5 2. STM32F1的器件支持包 STM32F1的器件支持包:Keil.STM32F1xx_DFP.1.0.5.pack)
第一,新建工程
1.新建工程文件夹,命名为stm32poject,在新建四个子文件夹,分别命名为Library,Start,User,SYSTEM,打开keil,新建工程保存在工程文件夹中
2.选择芯片类型,该文章以stm32c8t6为例
第二,处理工程文件夹
1.Library,misc.c是内核库函数,其他的是内核外设库函数,到例程的工程中复制过来
2.Start,存放启动文件及内核文件,system_stm32f10x.c是用来配置时钟
3.SYSTEM,到别的例程复制过来
4.User ,stmf10x_conf用来配置库函数头文件的包含关系,还有用参数来检查函数的定义,stm32f10x_it.c是用来存放中断函数的
第三,添加文件
1.在keil软件新建文件夹,与工程文件夹一致Library,Start,User,SYSTEM
2.添加文件
第四,c++,define里面添加USE_STDPERIPH_DRIVER才能包含标准外设库
第五,路径,魔术棒->c++->include Paths,如下
综上,程序应该可以编译了