【STM32学习笔记】#001 前期准备



1 前言

该系列主要用于记录和总结自己STM32的学习历程。方便以后回溯自己的知识体系构建过程,让自己能够发现在哪些地方做得比较不错,又在哪些地方走了弯路;也通过写博客的过程,一方面梳理想法,另一方面又检测自己是否真正掌握了某些知识点。
作为系列的开篇,本章主要记录学习所使用的硬件和开发所需的开发环境的准备。


2 硬件

2.1 开发板

选择使用的硬件是Nucelo-F103RB,也没有经过什么特别的挑选,因为没有相关的经验,所以就选择了在网上搜到的开发版中觉得最顺眼也是最便宜的那一个。(长下面这个样子)
在这里插入图片描述
ST网站的简介如下:

描述
STM32 Nucleo-64板为用户提供了一种可负担的灵活方法,通过选择STM32微控制器提供的各种性能和功耗特性组合来尝试新概念并构建原型。对于兼容板,外部SMPS可显著降低运行模式下的功耗。Nucleo F1 board photoARDUINO® Uno V3连接支架和ST morpho接头利用多种专用屏蔽提供了一种扩展STM32WL Nucleo开放式开发平台功能的简单方法。由于集成了ST-LINK调试器/编程器,STM32 Nucleo-64板无需单独的探头。STM32 Nucleo-64板随附STM32全面的免费软件库和STM32Cube MCU软件包示例。

拥有的主要功能如下:

通用特性

  • 采用LQFP64封装的STM32 微控制器
  • 与ARDUINO®共享的1个用户LED
  • 1个用户按钮和1个复位按钮
  • 32.768 kHz晶体振荡器
  • 板连接器:ARDUINO® Uno V3扩展连接器意法半导体的morpho延长引脚头,用于完全访问所有STM32 I/O
  • 灵活的供电选项:ST-LINK、USB VBUS或外部电源
  • 具有USB重新枚举功能的板上ST-LINK调试器/编程器:大容量存储器、虚拟COM端口和调试端口
  • 提供了全面的免费软件库和例程,可从STM32Cube MCU软件包获得
  • 支持多种集成开发环境(IDE),包括IAR Embedded Workbench®、MDK-ARM,以及STM32CubeIDE

特定板功能

  • 外部SMPS生成Vcore逻辑电源
  • 24 MHz HSE 板连接器:外部SMPS实验专用连接器Micro-AB或Mini-AB USB连接器(用于ST-LINK)MIPI®调试连接器
  • 兼容Arm® Mbed Enabled™

集成了调试接口,不用单独准备,挺适合我这个初学者的。

还有,网站除了提供常见的技术文档、用户手册外,还能在【CAD资源】页面下载回路图、layout、BOM,为部件损害后自己更换,而不是重新购买板子提供了可能性,还是挺方便的。

【CAD资源】页面
CAD资源网站页面

2.2 USB连接线

为了连接电脑,还需要一根mini B的连接线。需要注意的是,数据线是mini-B接口,而不是Micro-B。不要准备错了。特别是mini-B接口已经很难在市场上见到的现状下,很容易买成Micro-B。我就是先错买了一个Micro-B后,才在旧货市场里好不容易淘到一个mini-B。

3 开发环境

3.1 简介

硬件准备好后,就得着手准备开发环境了。
那么,什么是开发环境呢?
STM32的开发环境概况,我参考的是STMicroelectronics官方Youtube频道发的视频(日语无中文字幕)。

STM32マイコン体験実習(導入編)開発エコシステムの紹介
在这里插入图片描述
在这里插入图片描述

下面简单总结一下。

3.2 IDE

統合開発環境:也就是Integrated Development Environment, 简称IDE,中文名叫集成开发环境。

wiki上给的定义:
是一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本、并编译打包成为可用的程序,有些甚至可以设计图形接口。IDE通常包括编程语言编辑器、自动构建工具、通常还包括调试器。有些IDE包含编译器/解释器,有些则不包含,这些IDE是通过调用第三方编译器来实现代码的编译工作的。有时IDE还会包含版本控制系统和一些可以设计图形用户界面的工具。
百度百科的定义:
是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

因为32基于ARM的Coretx,所以基本上适用于Coretx的都能用作为32的IDE。
主要的软件有下面三种。

  • EWARM:瑞典的IAR公司开发,提供两种免费版本:30天无容量限制版;和容量限制时间无限版。
  • MDK-ARM:德国KEIL公司开发,2005年被ARM公司收购,可以看作ARM官方软件。也提供一种免费版本:32Kb代码限制的lite版。
  • STM32CubeIDE:ST公司的官方软件,完全免费。

有趣的是,ST公司中有差不多90%的MCU工程师在使用EWARM和MDK-ARM。
还鉴于网站上大部分教程都基于MDK-ARM,所以选择MDK-ARM作为我的IDE。
官网的下载地址: https://www.keil.com/download/product/

3.3 软件包

デバッガ(Debugger、调试工具)、評価ボード(evaluation board、评估版)、OS就是字面意思,按下不表。
ソフトウェア・ライブラリ(Software library、软件包)是ST为了方便开发者开发、减少工作量、时间和成本而提供的免费开源服务。包括

  • 硬件抽象层(HAL)使得不同的STM32器件可通过标准API调用进行互相移植
  • 底层(LL)API作为精简的、优化的、面向专家的API,专为性能和运行效率设计
  • 一系列中间件组件,包括RTOS、USB库、文件系统、TCP/IP栈、触摸感应库或图形库(取决于STM32的系列)
  • 特定于每个STM32无线系列的RF协议栈,比如Bluetooth® LE 5.0、OpenThread、Zigbee
    3.0、LoRaWAN®和Sigfox
  • 基于HAL驱动程序的BSP驱动程序仅面向STM32 MPU,并为评估板和第三方组件提供API集。

提供额外的嵌入式软件组件,补充了STM32Cube MCU软件包的功能,支持在传感、电源管理、连接或音频等领域实现特定的应用用例、使用STM32 MCU和配套芯片,以及多种意法半导体器件。

对于初学者,先下载软件模块STM32CubeF1
但官网的下载老是不成功,除了去github下载外,还可以通过STM32CubeMX获取。

3.4 STM32CubeMX

STM32CubeMX是ST提供的图形用户界面和初始化代码生成器。

  • 提供图形化向导来生成初始化C代码,并包含一个实用多功能工具以帮助开发人员进行引脚复用、时钟树设置、外设配置和中间件调配。
  • 为一系列集成开发环境工具链生成适配IDE的项目
  • 为用户定义的应用序列计算功耗
  • 从st.com直接导入STM32Cube嵌入式软件库
  • 借助集成的更新器,令STM32CubeMX软件始终保持最新

CubeMX和软件库的关系如下

在这里插入图片描述
在这里插入图片描述

软件下载地址:https://www.st.com/en/development-tools/stm32cubemx.html
软件界面:
在这里插入图片描述

安装后如果下载软件包不成功,可以考虑是下面两个原因造成的。

  • 文件夹名称中存在中文字符
  • 文件夹地址过长(如果是onedriver作为软件包下载目标文件夹,可能会遇到这个问题)

4 总结

万事开头难。
以上就是总结和记录了一下自己如何完成前期最基本的准备工作。有了硬件和开发环境后,就可以踏上学习和探索STM32之旅了。


参考资料/拓展阅读

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值