STM32CubeMX 创建 MDK 工程
MDK (Keil uVision)
MDK (Keil uVision) 是 Arm 公司开发的一款集成开发环境 (IDE),专门用于 Arm 架构的嵌入式系统开发。它提供了全面的功能,包括:
- 代码编辑器,支持语法高亮、代码补全和错误检测
- 调试器,支持单步执行、断点和变量监视
- 汇编器和链接器,用于生成可执行代码
- 项目管理工具,用于组织和管理代码项目
- 与各种仿真器和调试器的集成,方便进行硬件调试
MDK 因其易用性、强大的功能和对 Arm 架构的良好支持而受到嵌入式开发人员的广泛欢迎。它特别适合开发基于 Cortex-M 内核的 STM32 微控制器的应用程序。
STM32CubeMX
STM32CubeMX 是 STMicroelectronics 提供的一款图形化配置和代码生成工具,用于 STM32 微控制器。它允许用户快速、轻松地配置外设、生成初始化代码并创建项目。STM32CubeMX 的主要特点包括:
- 直观的图形化界面,便于配置外设和设置
- 自动生成初始化代码,减少开发时间
- 支持广泛的 STM32 微控制器系列
- 提供外设库、中间件和示例代码
- 与主流集成开发环境 (IDE) 集成,如 Keil uVision 和 IAR Embedded Workbench
STM32CubeMX 和 MDK 的结合
STM32CubeMX 和 MDK 可以很好地配合使用,为 STM32 开发提供了一个高效且全面的解决方案。STM32CubeMX 用于快速配置外设和生成初始化代码,而 MDK 则用于编写、调试和编译应用程序代码。这种结合简化了开发过程,并使开发人员能够专注于应用程序逻辑,而不是底层硬件细节。本文将详细介绍如何使用 STM 32 CubeMX 创建一个 MDK 工程,并配置基本的外设和调试功能。
1. 选择 MCU 创建工程
首先,打开 STM 32 CubeMX 工具,选择菜单中的 “New Project” 来创建一个新的工程。
2. 输入芯片型号
在新建工程窗口中,输入你使用的 STM 32 芯片型号,例如 “STM 32 F 103 C 8”,方便快速找到你的实际型号。
3. 创建 CubeMX 工程
选择正确的芯片型号后,点击 “Start Project” 按钮,进入工程配置界面。
4. 配置 SYS
在配置界面中,找到并配置系统功能 (SYS),启用调试和重映射功能。
5. 配置 RCC
配置 RCC (时钟控制),选择适当的外部时钟源,如 HSE 或 LSE,确保系统时钟配置正确。
6. 配置串口
配置一个串口 (USART),将其用作调试窗口,方便输出调试信息。设置波特率、数据位、停止位等参数。
7. 配置时钟
在时钟配置页面,系统会根据前面的配置自动生成时钟树。如果有任何不符合预期的地方,可以进行微调,以确保时钟设置正确。
8. 配置工程
点击 “Project” 选项卡,填写工程名称和路径,选择 MDK-ARM (Keil uVision) 作为工具链,并填写一些基本的项目设置。
9. 生成代码工程
配置完成后,点击 “Generate Code” 按钮,生成代码工程。
10. 打开生成的代码工程
使用 Keil uVision 打开刚刚生成的代码工程文件 (. uvprojx),编译代码,确保没有错误。
11. 为 printf 输出到调试串口增加代码
在 main.c
文件中,添加以下代码来支持 printf
输出到调试串口:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
确保包含正确的头文件:
#include "usart.h"
#include <stdio.h>
12. 添加测试验证串口调试信息代码
在 main
函数中添加测试代码,验证串口调试信息输出:
编译代码,确保没有错误。
13. 配置烧写/调试工具
在 Keil uVision 中配置烧写和调试工具,选择合适的调试器(如 ST-Link)并进行相关设置。
14. 烧写程序并运行
将程序烧写到开发板上,烧写成功后,板子会自动重启运行。通过串口调试窗口,可以看到调试信息输出:
至此,一个最简单的裸机程序已经完成。希望这个教程能帮你快速上手 STM32CubeMX 和 MDK 开发。
也可扫码关注博主同名公众号"不解之榬",查看相关文章