MDK 5.xx.0 + STM32F10x 笔记

天才脑袋比不上烂笔头, 写给自己看, 自用资料。

安装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 架构:
Project structureOption for Target1 -> C/C++
Define: STM32F10X_MD
Compiler Include Path

修改 Std Lib 档案, 配合实际硬件

stm32f10x.h

  1. 使用 Std Lib.
    #define USE_STDPERIPH_DRIVER
  2. Check HSE_VALUE 是否跟硬件相符 (预设 8MHz)

system_stm32f10x.c

  1. 确认 SYSCLK (惯用 ˙72MHz)
    #define SYSCLK_FREQ_72MHz 72000000

准备工作完成!

开发进程

  1. 确认资源使用 ADC/GPIO/I2C/USART/TIM…
  2. 建立个别资源启用程序
    <模块化, 参考 CubeIDE>
  3. 建立 NVIC-> IRQ routine -> stm32f10x_it.c
    <中断优先级须注意>
  4. 开发使用程序(application)

2023/09/27
STM32F103C6 & C8 共 Project

  1. 各自建立 Target选项, C/C++ #deifne 加入
    (a) C8 STM32F10X_MD
    (b) C6 STM32F10X_LD
  2. startup
    (a) C8 startup_stm32f10x_md.s
    (b) C6 startup_stm32f10x_ld.s
  3. 优化太高会有意外, 先将所有全局变量宣告成 volatile, 避免

2023/10/06

  1. 切换 Target C8/C6后, 要注意 Debug选项,
    不知为啥会被切回软件模拟, 要改回用硬件模拟, 排除 Read Access Violation 问题.
  2. C6 Flash 32K. 程序优化着重 Size.

CubeIDE细节难控制, 版本优化程度看不明白。
<备份>天才脑袋比不上烂笔头, 写给自己看, 自用资料。
档案取自互联网!如有侵权或不适用情形, 请联系移除!
#MDK
#STM32
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值