尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

STM32F030开发环境搭建

STM32F030开发环境搭建
📅 发布时间:2026/6/23 2:09:53
STM32F030开发环境搭建

纪念文章,当时啥也不会,现在建议直接STM32CubeIDE

长话短说,由于突然要调试别人画的一块板子,用的是STM32F030调试一个ADC.

开发环境

STM32CubeIDE

基于以前开发单片机的经验,首先选择厂商提供的IDE往往有比较好的体验,加上一年前用keil开发过F103,感觉体验不佳,于是首先选择了STM32CUBE IDE,这个直接上ST官网就可以找到,ST官网还有个软件叫做STM32CubeMX,这个软件的功能是被STM32Cube包含的,因此可以先不用。
下载之后安装stm32cube ide。需要联网下载一些包。然后新建工程,选择使用的单片机,程序会提供HAL库来供开发。引脚功能以及时钟树初始化代码通过图形配置。但是需要注意,这里图形配置修改之后,会覆盖没有写在/*user code begin*/下的个人代码。
这里只需要了解库函数的使用就行了,实际上功能看代码就可以猜出来。
在这其中遇到一个报错,就是个人代码c文件需要包含STM32硬件功能的时候,需要包含头文件

#include "stm32f0xx_hal.h"//这里这个头文件要放在其他头文件前面,就是一个顺序问题。
//不然会报错一堆未定义。这个问题可能以后编译器会优化吧,目前先记着。

然后需要编译调试。我只有DAP link,但是stm32cube不能直接支持,这个可以用openocd来解决。但是,我遇到的问题是仍然不能正确连接上,这个问题后面说。

Keil MDK

由于连接不上,还是尝试用keil来开发。
网上一大片方法都很繁琐,效率很低,这里说一下一个简单点的方法。

首先上Keil官网下载最新版keil MDK,安装。
然后打开包管理器
红圈为keil包管理器

网络不好的话会比较慢,直接查找对应单片机,在右侧就可以下载对应的包。
然后新建工程,选择对应的单片机,
在这里插入图片描述
点击下一步之后这时候会弹出来一个选择
在这里插入图片描述
上面这个环境配置器同样可以在下图这个位置实事实时修改。在这里插入图片描述
首先勾选上CMSIS core,DSP则视需求勾选。然后
在这里插入图片描述
勾选上这三项,注意,这里需要有STM32cubeMX来支持,这样的话工程结构和STM32cubeIDE的非常一致。因此需要先到官网安装STM32cubeMX,这个软件需要JRE支持。
安装完成之后,勾选这三项下一步,会提示启动STM32CubeMX,然后可以通过cubeMX来配置初始化代码。同时具有HAL库。这时候开发就变得非常简单。在自动生成的主函数中写自己的代码就可以了。其他的一律不用过多费精力。

debug的使用

Keil 的debug网上有很多教程,流程基本一致,我使用的是SWD下载。这里遇到一点不一样的情况就是需要按着Reset才能找到器件ID,这里也不需要连接Reset引脚,
在这里插入图片描述
只需要改成Under reset就可以正常通信了。由于一开始建立工程的时候选择好了器件,这里也不用修改FLash download内的器件选择。

软件使用总结

从一开始写程序到调试完AD,大概花了一个晚上+一个上午的时间,这其中费时间的主要是一个硬件问题,下面说,总体来说,如果不是STM32CubeIDE不能直接支持DAP linker,STM32cubeIDE上手更快,使用也更方便,个人也比较熟悉eclipse系列软件的debug流程。
使用Keil稍微花了点时间,一开始不是很愿意迁移工程,最后决定老老实实看一下用库函数建立工程,发现比网上那些流程简单多了,不过keil的使用仍然不是很顺手,可以考虑一下用vscode的插件。

硬件问题

由于之前从来没有用过STM32做东西,这次这个板子也不是我画的,所以犯了一个错。测试keil连接器件成功之后,使用keil开发每次打开debug都闪退,我一开始没有明白为什么,后来发现是因为Boot0没有下拉。。。下拉之后就能正常开发了。这个实际上花了不少时间。

总结

还是和上面说的那样,善用软件并尝试新方法还是能提高效率的,如果开发只会照着网上的博客来抄,来照着葫芦画瓢,并不能给自己以后的路提供什么经验。

相关新闻

  • 2025优质阻燃泡棉厂家排行
  • 2025年中国生物标本五大品牌推荐:河南大科实力凸显
  • 2025模切厂家哪家好?精选可靠产品

最新新闻

  • 深入理解Go crypto/elliptic:从ECC原理到自定义曲线实现
  • Java防重放攻击实战:Spring Boot中Timestamp+Nonce方案详解
  • GLM-5.1架构本质:MoE范式下的MLA与DSA协同设计
  • Cursor如何重构OpenManus框架学习路径
  • 西宁大通回族土族自治县黄金上门回收,足不出户轻松变现 - 专业黄金回收
  • 南宁武鸣区黄金上门回收,足不出户变现无忧 - 专业黄金回收

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号