天才脑袋比不上烂笔头, 写给自己看, 自用资料。
安装MDK + STM32环境
- Download MDK
- 安装 MDK -> c:\keil_v5 用默认路径
- 下载 ARMCC V5.06 Update 7 (build960) <- 长期稳定支持版本
- 安装至 c:\keil_v5\arm\ARMCC
- 开启 uVision.
- 设定 预设编译程序版本 : V5.06 Update 7 (build960)
MDK + STM32
- 下载 Keil.STM32F1xx_DFP.2.3.0.pack 后, 使用 pack installer 安装
- 下载STM32F10x_StdPeriph_Lib_v3.6.0
建立 uVsion Project.
Project 架构:
Option for Target1 -> C/C++
Define: STM32F10X_MD
修改 Std Lib 档案, 配合实际硬件
stm32f10x.h
- 使用 Std Lib.
#define USE_STDPERIPH_DRIVER - Check HSE_VALUE 是否跟硬件相符 (预设 8MHz)
system_stm32f10x.c
- 确认 SYSCLK (惯用 ˙72MHz)
#define SYSCLK_FREQ_72MHz 72000000
准备工作完成!
开发进程
- 确认资源使用 ADC/GPIO/I2C/USART/TIM…
- 建立个别资源启用程序
<模块化, 参考 CubeIDE> - 建立 NVIC-> IRQ routine -> stm32f10x_it.c
<中断优先级须注意> - 开发使用程序(application)
2023/09/27
STM32F103C6 & C8 共 Project
- 各自建立 Target选项, C/C++ #deifne 加入
(a) C8 STM32F10X_MD
(b) C6 STM32F10X_LD - startup
(a) C8 startup_stm32f10x_md.s
(b) C6 startup_stm32f10x_ld.s - 优化太高会有意外, 先将所有全局变量宣告成 volatile, 避免
2023/10/06
- 切换 Target C8/C6后, 要注意 Debug选项,
不知为啥会被切回软件模拟, 要改回用硬件模拟, 排除 Read Access Violation 问题. - C6 Flash 32K. 程序优化着重 Size.
CubeIDE细节难控制, 版本优化程度看不明白。
<备份>天才脑袋比不上烂笔头, 写给自己看, 自用资料。
档案取自互联网!如有侵权或不适用情形, 请联系移除!
#MDK
#STM32