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过程。

相关推荐
小莞尔2 小时前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔2 小时前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
黑不拉几的小白兔2 小时前
stm32教程:USART串口通信
stm32·单片机·嵌入式硬件
sheepwjl4 小时前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
田甲6 小时前
【STM32】串口的阻塞、中断、DMA收发
stm32·单片机·嵌入式硬件
一支闲人12 小时前
带你了解STM32:GPIO通用输入输出口
stm32·基础知识·适用于新手小白
WD1372980155712 小时前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车
我菜就多练16 小时前
ARM-汇编的基础知识
汇编·arm开发
carysu18 小时前
交换机协议栈FRR中使用
arm开发
白掰虾18 小时前
STM32N6&AI资料汇总
人工智能·stm32·嵌入式硬件·stm32n6·stm32ai