CT117E-M4 CubeMX与Keil5 MDK-ARM基础配置

目录

1.CubeMX构建项目

2.芯片时钟配置

[2.1 芯片引脚配置](#2.1 芯片引脚配置)

[2.2 时钟树配置](#2.2 时钟树配置)

3.调试接口配置

[4.项目管理器Project Manager配置](#4.项目管理器Project Manager配置)

[4.1 project](#4.1 project)

[4.2 Code Generator](#4.2 Code Generator)

[5. 生成代码](#5. 生成代码)

6.MDK_ARM配置

[6.1 编译器选择](#6.1 编译器选择)

[​6.2 调试器配置](#6.2 调试器配置)

[7. 创建本地代码文件夹](#7. 创建本地代码文件夹)

[8. #include 路径设置](#include 路径设置)


1.CubeMX构建项目

打开CubeMX后,可以从如下两个选项选择任一个进行创建项目:

在1处输入框输入STM32G431RB,选择该芯片。再根据2处,选择第二个芯片型号。随后3处,点击Start Project。

此时进入芯片配置界面:

2.芯片时钟配置

2.1 芯片引脚配置

(1)点击System Core

(2)点击RCC(Reset and Clock Control,复位和时钟控制模块)

‌ (3)选择高速时钟HSE

‌ (4)选择Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

‌ (5)芯片PF0引脚被自动设置为RCC_OSC_IN 外部时钟输入、PF1引脚为RCC_OSC_OUT外部时钟输出

2.2 时钟树配置

(1)时钟输入频率设置为24MHZ。因为官方用户手册中7.1节的晶振频率为24MHZ。

(2)选择HSE。

(3)选择PLLCLK,使HSE生效。

(4)将HCLK处改为80MHZ。输入后回车,使配置生效。

3.调试接口配置

在SYS中 ,Debug选择Serial Wire(串行调试)。

4.项目管理器Project Manager配置

4.1 project

(1)项目名不能有中文

(2)项目路径不能有中文

(3)IDE选择MDK-ARM。之后在 MDK-ARM中编写代码。

4.2 Code Generator

勾选**Generate peripheral initialization as a pair of '.c/.h' files per peripheral,**为外围设备也就是单片机,基于在CuberMX中的配置,生成初始化的.c/.h文件。

5. 生成代码

点击generate code,生成代码。

Open Folder,可以打开创建的CubeMX项目所在目录:

其中,MDK-ARM目录存放着MDK-ARM工程文件。

6.MDK_ARM配置

打开MDK-ARM工程。其中最重要的就是main.c主程序。

6.1 编译器选择

按照如下顺序,选择版本6。本人的版本5不可以。

6.2 调试器配置

选择CMSIS-DAP Debugger。CMSIS-DAP(Cortex Microcontroller Software Interface Standard - Debug Access Port) 是 ARM 定义的 开源调试接口协议 ,允许调试器通过 USB 连接到目标 MCU,并通过 SWD/JTAG 进行调试和下载程序。

再按照上图对调试器进行配置,使其将程序下载到单片机中后,自动reset并运行程序。

7. 创建本地代码文件夹

在CubeMX工程目录下创建BSP文件夹,用于存放个人编写以及修改过的官方驱动文件,便于最终提交结果。

同时在MDK-ARM中创建对应的BSP文件夹,将CubeMX工程目录下创建BSP文件夹中的文件添加到这里,方便在MDK-ARM中编写代码。

8. #include 路径设置

我们编写的.h/.c文件在CubeMX工程目录下的BSP文件夹,直接在main.c中引用会报错,程序不知道BSP文件夹。所有将BSP文件夹路径添加到MDK-ARM的引用路径:

找到BSP文件夹所在位置,将其添加到include paths。

本本篇到此结束,下篇记录点亮LED过程。

相关推荐
铅笔小新z15 小时前
【stm32】输入捕获-超声波测距
stm32·单片机·嵌入式硬件
Zw-awa15 小时前
PID 的花样:先看懂模糊 PID 和单神经元自适应 PID
stm32
铅笔小新z15 小时前
【stm32】全彩led灯(PWM)
stm32·单片机·嵌入式硬件
澄纸气16 小时前
STM32 外部中断实战:对射式计数器和编码器计数器,两个实验跑通 EXTI
stm32·单片机·嵌入式硬件
XMAIPC_Robot16 小时前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
2501_9226395816 小时前
率能半导体 SS6286L直流双向马达驱动芯片:18V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
stm32·单片机·嵌入式硬件·硬件工程
aqiu11111117 小时前
蓝桥杯真题复盘:Fibonacci 数列与黄金分割(C++ 算法详解)
c++·算法·蓝桥杯
铅笔小新z18 小时前
【stm32】PWM呼吸灯
stm32·单片机·嵌入式硬件
深圳老胡18 小时前
RTX 与其他 RTOS 操作系统的差异及优缺点分析
笔记·stm32·单片机·代码规范
happygrilclh18 小时前
LVGL 移植整体流程
stm32