[STM32 学习] Keil工程配置及问题解决 - DAP仿真器
前言
今天是开始STM32的再学习的第一篇记录 主要侧重的点在: (1)BSP 片上的,片外的 (2)FreeRTOS (3)数字信号处理
1. 使用软硬件平台说明
(1) 硬件平台 MCU: STM32F103C8T6 仿真器:CMSIS-DAP (2) 软件平台 Keil uVision5 Source Insight
2. Keil工程配置
选择Options for Target ** ,即下图所示“魔术棒”。 这里我将我的配置逐一贴出:
1.1 Device
Device选择自己的芯片型号,这里我使用STM32F103C8。如果该部分没有的小伙伴需要安装相应的DFP(获取方式ST官网)。
1.2 Target
注意勾选Use MicroLIB 这样以后可以使用printf函数。
1.3 Output
勾选Create HEX File 以生成Hex文件。 同时勾选Browse Information 可以加快编译速度,但是会使得函数和宏的定位无效。不过后期使用Source Insight修改代码,问题不大。
1.4 C/C++
全局的宏定义,这里我是用的是ST的标准库,所以加入如下的宏。一个是使用外设,这个应该都一样。一个是根据使用的芯片情况选择特定的宏,因为STM32F103C8T6是中密度型的产品,所以使用 STM32F10X_MD 。当然你可以在芯片的手册里查看自己用的属于什么类。在stm32f10x.h中可以找到相应的宏名。
图中标记的字符串如下:
USE_STDPERIPH_DRIVER,STM32F10X_MD -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\Flash\List\" -I ../../Libraries/CMSIS/Device/ST/STM32F10x/Include -I
1.5 Debug
选择使用仿真器,选择CMSIS-DAP 点击旁边的settings进一步设置 这里使用SWD模式,在SW Device窗口可以看到我的MCU已经被识别。 点击Flash Download选择Flash的文件,这里遵循的原则还是MCU的密度属性。 ok,工程大体上设置完毕了。
2. 更换启动文件
这一点要注意,工程中的启动文件要相适合,这里我使用startup_stm32f10x_md.s
3. 下载代码以及遇到的问题
按照刚才的配置下载代码,出现报错
Error :FlashDowneload faild - “Cortex-M3”
在查找过后发现因为使用的是DAP,所以需要注意一个配置: 原因可以在keil的手册里找到 执行软件复位。 重置Cortex-M内核和片上外设
总结
主要是解决了以前没遇到的复位问题。
