·引言

  STM32单片机是嵌入式开发中的主流硬件平台,应STM32嵌入式开发入门需求,本文章将采用Windows11系统,详细展示如何使用STM32CubeMX与MDK-ARM(Keil5)工程软件对STM32开发板接口进行环境配置,并演示STM32单片机开发的入门项目:LED点灯实验。

  声明:本文章仅用于教学内容,不做任何商业活动。

  本文章使用的软硬工具如下:(LED点灯实验所需)

  软件1·编译器(IDE):Keil5(MDK-ARM)

2·接口工具:STM32CubeMX (STM32官方工具)

3·工具链:STM32CubeCLT (STM32官方编译工具链)

  硬件STM32F103C8T6型号开发板、ST-Link烧录器、LED二极管、面包板、条线和杜邦线若干。


·软硬件获取

软件

  推荐第三方安装方式,也可自行在官网进行安装。(FubeMX软件由 “keysking.” 保留所有权利。)

FubeMX软件下载

   操作步骤:点击立即下载→打开下载的 .exe安装程序→根据指示进行第三方软件安装

安装完成后,运行FubeMX软件,继续下载所需软件:(安装步骤请自行解决

注:本文章不直接提供软件安装包。若有不便,敬请谅解。

硬件

  自行在常用购物App中搜索 “STM32开发板” 关键词,按需下单即可。


·软件平台

STM32CubeMX

  双击运行STM32CubeMX,打开程序界面:(根据图示指引)

  若是第一次使用,会弹窗提示缺少固件包,此时需返回FubeMX软件中,找到固件包管理,安装STM32F1固件包。

  等待进度完成,弹窗选择打开文件夹,继续操作。


Keil5

  下面进入Keil5软件进行环境配置:

  环境配置完成后,接着需配置启动文件

  注:启动文件(通常叫 startup_stm32f103x8.s 或类似名字,后缀是 .s 或 .asm)是芯片上电后运行的第一段代码,它初始化堆栈指针、设置中断向量表,然后才跳转到你的 main() 函数。没有它,程序根本无法开始运行。

  默认文件路径:

C:\Users\[你的用户名]\STM32Cube\Repository\STM32Cube_FW_F1_Vx.x.x\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm

  找到startup_stm32f103xb.s文件,并将此文件复制到上文的MDK-ARM文件夹下(方便管理)。

  接着,打开Keil5软件,将启动文件添加进去。

  添加完成后即可开始编译代码了。


代码编译

  找到main.c文件中的while(1)部分进行代码编译。

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESRT); /*亮灯*/
HAL_Delay(500);

  上文在设置开发板引脚时,设置的是PA6为输出接口,因此代码为GPIOA、GPIO_PIN_6。

  接下来开始组装硬件,连接开发板。


·硬件组装

开发板组装

  硬件组装指示如下:

  组装完成后,将连接开发板的ST-Link接入电脑。(烧录器与开发板亮红灯


程序烧录

  回到Keil5软件,进行最后的程序烧录步骤。

  至此,接口环境配置与LED点灯实验已全部完成。若成功点亮LED,祝贺您已成功入门STM32嵌入式开发,期待更多项目在您的手中绽放。


·常见问题

问题一:

弹窗报错:Error: Flash Download failed -"Cortex-M3",且伴随ST-Link红蓝灯交替闪烁。

解决步骤:魔术棒→Utilities→Settings按钮→选则“Erase Full chip”、勾选Reset and run。

问题二:

弹窗报错:Error: Flash Download failed -Target DLL has been cancelled,且伴随ST-Link红灯闪烁。(可能为硬件、驱动、芯片问题)

解决步骤①:一直按开发板上的RESET(复位)键,点击LOAD键后,快速松开。

解决步骤②:魔术棒→Debug→点击 Use:ST-Link Debugger 旁的Settings键→Debug→找到Reset:→选择HW RESET(Hardware Reset硬件复位)。


·总结

  嵌入式开发任重道远,本章所展示项目仅是嵌入式开发中的“Hello World” 。嵌入式开发需要综合软件和硬件两大方面,相比纯软件开发,其开发复杂程度更大,同时还要兼顾硬件电子技术。不过每当解决一个问题,于完成开发的距离也就越近,对于嵌入式开发的探索,相信远不止于此。

  最后,欢迎广大读者在评论区积极交流指正。下文再见。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐