轻松玩转STM32Cube(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 ST公司的STM32开发板

意法半导体(STMicroelectronics,ST)公司在2007年6月推出Cortex-M3内核处理器,即STM32系列。为了推广自己的产品,ST公司同时推出了配套的开发板,其开发板分为3类,即评估板(Evaluation board)、探索套件(Discovery kits)、Nucleo开发板(Nucleo board),如图1-1所示。

图1-1 STM32开发板

1.评估板

评估板主要用来对微控制器做全功能性评估,ST公司针对STM32F1系列微控制器推出的评估板有STM3210E-EVAL、STM32100B-MCKIT(STM32100B-EVAL)、STM3210C-EVAL、STM32100E-EVAL、STM3210B-MCKIT(STM3210B-EVAL),这类开发板的特点是板上外扩的外设资源丰富。图1-2所示的是STM32100B-EVAL和STM3210E-EVAL开发板的实物图。

图1-2 STM32100B-EVAL和STM3210E-EVAL开发板的实物图

各款评估板之间有很大的相似性:其最大的不同是板载微控制器不同,而相同之处是都外扩了很多外设。以STM3210E-EVAL为例,其板载芯片为STM32F103ZET6或STM32F103ZGT6,外扩有128Mbit串行闪存、512Kbit×16 SRAM、512Mbit NAND闪存和128Mbit NOR闪存、MicroSD Card、TFT液晶屏、RS232接口、USB接口、音频接口(I2S)、CAN总线、JTAG口、IrDA传输接口、电动机控制接口、LED指示灯、按键等。这类评估板也是国产开发板参考的基础。

2.探索套件

ST公司的第一套探索套件是在2010年9月份推出的。其目的是给用户提供更为便宜的开发板,同时,工程师也可以在其上面搭建产品的设计原型,实现自己的创意演示。

目前,ST公司共推出了37款探索套件,其中针对STM32F1系列微控制器的只有STM32VLDISCOVERY(板载微控制器是STM32F100RBT6B),如图1-3所示。探索套件与评估板之间的最大区别是:评估板外设很丰富,但设计相对固化,价格较高;而探索套件仅将微控制器的引脚全部引出,除按键和LED指示灯外,没有其他外扩硬件资源,这使其成本下降很多。另外,探索套件还集成了仿真器ST-LINK,这也为开发人员提供了便利。

从开发板历史发展的角度看,探索套件是评估板到Nucleo开发板之间的一个过渡类型。

3.Nucleo开发板

随着近些年Arduino和创客的流行,ST公司在2014年开始将自己的探索套件设计成兼容Arduino的Nucleo开发板,让开发者有更自由的空间完成自己的创意设计。在短短6年多的时间里,ST公司就推出了57套Nucleo开发板,是三类开发板中数量最多的。不过,针对STM32F1系列微控制器的Nucleo开发板只有Nucleo-F103RB,如图1-4所示。

图1-3 STM32VLDISCOVERY

图1-4 Nucleo-F103RB

比较探索套件STM32VLDISCOVERY和Nucleo开发板Nucleo-F103RB,可以发现,其实这两种开发板并没有本质区别,它们都有调试模块ST-LINK/V2,都是将板载微控制器的引脚引出来。两者最大的区别是:板载微控制器引脚引出后的排列布局不同,探索套件STM32VLDISCOVERY的引出引脚是单排针排列的,而Nucleo-F103RB为了兼容Arduino板,进行了更为规范的排列。

通过ST公司官网进入STM32 MCU Nucleo页面,可以看到对Nucleo开发板更为详细的介绍。图1-5所示为当前56块Nucleo开发板的分类。

图1-5 Nucleo开发板的分类

在STM32 MCU Nucleo页面的列表中或通过搜索进入Nucleo-F103RB页面,可以看到Nucleo-F103RB开发板的详细介绍,注意:该开发板是一款STM32 Nucleo-64系列开发板,板载微控制器是STM32F103RB,支持Arduino平台及ST morpho connectivity。

在Nucleo-F103RB页面,对Nucleo-F103RB开发板的介绍分为以下4部分。

(1)概述(Overview)。

(2)工具和软件(Tools&software),包括开发工具(Development tools)、生态系统(Ecosystems)、嵌入式软件(Embedded software)、评估工具(Evaluation tools)。

(3)资源(Resources)。

①技术文档(Technical documentation):让用户能够快速上手使用开发板。

②演示和培训资料(Presentations&training material):可以快速了解ST开发板的基本情况。

③硬件资源(Hardware resources):包括开发板的生产工艺、物料单、原理图等。

④宣传资料(Publications and collaterals):可以快速、全面地了解ST产品。

⑤法律授权(Legal)。

⑥二进制资源(Binary resources)。

(4)质量和可靠性(Quality&reliability)。

在不同学习阶段,我们关注的重点会有所不同。例如:在开发板选型阶段,须要关注概述、资源中的宣传资料等内容;而在开发阶段,则重点关注工具和软件中的开发工具、嵌入式软件,以及资源中的技术文档、硬件资源等。

Nucleo开发板可使用的硬件资源不仅兼容Arduino Ver3平台,ST公司还为其开发了配套的Nucleo扩展板(STM32 Nucleo expansion board),如图1-6所示。

图1-6 Nucleo扩展板(STM32 Nucleo expansion board)

使用Nucleo开发板时,可选择的开发工具非常丰富,有STM32CubeMX、STMStudio(调试环境)、IAR EWARM、Keil MDK-ARM、ARM mbed、ColDE等;ST公司为方便开发人员快速上手,还提供了丰富的开发库,包括标准固件函数库(Standard Peripherals Library API,SPL API)、硬件抽象层函数库(Hardware Abstraction Layer API,HAL API)、底层函数库(Low-Layer API,LL API)等。

4.第三方评估板

除了前面介绍的三类开发板,ST公司官网的STM32 MCU Eval Tools页面中还介绍了第三方开发工具使用的开发板(STM32 3rd-party evaluation tools),这类开发板共有25个。这类开发板其实也属于评估板,但它们是针对不同的开发工具设计的。例如:针对开发工具IAR EWARM的评估板有STM3210C-SK/IAR、STM3210E-SK/IAR等;而针对Keil MDK-ARM的评估板有STM3210G-SK/KEI、STM3210C-SK/KEI等。

这些开发板在不同的开发平台上又会以新的名称出现。例如,在Keil MDK-ARM的官网Board List for ARM Cortex-M页面的列表中,Keil开发板的名称是MCBSTM32C、MCBSTM32E,其实MCBSTM32C就是STM3210C-SK/KEI,而MCBSTM32E就是STM3210G-SK/KEI。

这里对MCBSTM32E(即STM3210G-SK/KEI)评估板(如图1-7所示)进行简单介绍:该评估板集成了STM32F103ZGT×微控制器,可以评估USB设备、CAN接口、USART接口、音频、MicroSD卡接口和QVGA LCD等外设;其最大特点是配有精简版Keil MDK-ARM开发环境(最大32KB代码),而且提供ULINK-ME(USB/JTAG)仿真器。

图1-7 MCBSTM32E评估板

MCBSTM32E评估板的集成外设和提供的外设接口没有STM3210E-EVAL评估板那么丰富,不过它附带的开发环境和仿真器对开发人员来说也是不小的诱惑。若要进一步了解MCBSTM32E评估板,可以通过KEIL公司官网或ST公司官网来查看。