请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32Cube嵌入式软件新成员-扩展功能插件(一)

[复制链接]
eefishing 发布时间:2020-1-16 01:09

( x$ ?: B7 [# `* a; e# o" \9 M欢迎大家继续观看《STM32 生态系统》 介绍,第五期:STM32Cube嵌入式软件新成员 – 扩展功能插件。之前有平台反映,这个STM32生态系统的范畴好大,前面刚对STM32Cube工具有了一个总体认识,后面又切换到了两集STM32WB,然后又跳到cloud云连接来讲。这里我觉得有必要给大家一个整体的课程认识。确实,STM32生态系统的范畴非常大,但是在我这套视频规划里,它会从三个不同的角度来入手,分别是:芯片本身,即表格里的silicon;垂直应用,即Vertical这一列;还有就是横向的transveral,无论使用哪个STM32系列芯片,做哪方面的应用开发,都会用的STM32Cube 软、硬件工具。我会在这三个方面穿插来讲。
2 Y# Q" a/ S2 F+ X# U( u6 `6 ?" b1 I. t) f
【芯片角度】STM32系列很多,这里主要针对ST当前主推的产品,比如STM32WB,它有哪些软硬件设计资源,工具;它和以往系列不同的地方,比如芯片的有线和无线升级这个话题,要做WB的有线近距离升级和远距离无线升级,需要用到的软件工具、协议栈、固件包等。在芯片这个维度,后续计划有STM32H7双核通信和调试,首个支持TrustZone架构的STM32L5。
3 k1 _8 o/ z, B  {% n- |- ]' ~2 h# @: ~1 ?6 y5 ]3 S* x
【垂直应用角度】,Cloud的方案,会展开来讲,包括预测性运维、资产追踪和管理。在连接这个基本功能点,我们会介绍不变应万变的标准paho mqtt客户端,适配不同云平台连接的方式;Security信息安全,是IoT应用最重要也是最敏感的内容,STM32在这方面有大量的软、硬件积累,参考代码,方案,服务。会是后续的一个重点内容。6 x' {, q9 r2 x6 N0 w; O
/ X. i0 E$ b; B
【Cube工具】今年推出的STM32CubeIDE,很多用户表现出了极大地兴趣,我们也会有针对性的做一些深入介绍。

6 w& |& X! h! ^+ K  Y
接下来,我们就回归本期的主题,STM32Cube嵌入式软件新成员:扩展功能插件。我把它也放在第三列,transversal,是考虑到它属于STM32Cube固件包的一种新的发布形式,用户在使用的时候,与以往的Cube MCU固件包、Cube功能扩展包有所不同,具有更大的灵活性和扩展性。& p+ M5 d  Y3 O* @

+ @' }# H: R4 R4 F: `7 E! C

1 l' Q2 ]! w1 X% B8 |
STM32Cube的概念和范畴' M  a& [% t) x; d

8 \5 N4 c# U& L页面左边的四大类工具,是在《生态系统 第一期》讲过cube tool。它们大部分是横向的transversal,即无论使用哪个STM32系列,做什么应用开发,都会用到的软件工具。最后一个CubeMonitor是有特定的应用范围。

& a+ `/ a7 [3 b
页面的右边是STM32上的固件包,运行在STM32上的各种协议栈,功能库,例程等等。其中,右上的CubeMCU固件包,针对每一个STM32系列有独立的固件包。它里面的功能是generic、横向的。右下的Cube功能扩展包针对具体某一个功能。这两种固件包,大家都已经非常熟悉。今天我给大家介绍STM32固件包的新成员:功能扩展插件。
  E$ M9 Y5 J3 D: J
. N' x9 Y; z! }* c+ }9 _2 e1 s) i& n1 Y  l' K- B9 ]9 I6 _
功能扩展插件/ E0 |; k; Z5 E( P( v7 G
(1)STM32Cube MCU固件包0 o% N$ Q. d( \- G4 I# x

2 R" m. k$ \8 U( G9 T
) }* t5 m$ ?/ Q: B1 m  }" ~8 U
虽然大家对STM32Cube MCU固件包已经很熟悉了,从2014年第一个STM32CUbeF4问世,后面每个新出来的产品系列,都有一个独立的Cube MCU固件包;同时对在F4之前出来的F1、L1、F2也都补上了对应的Cube MCU固件包。但是随着Cube家族的扩充和演进,每个系列的Cube MCU固件包也不断有新的feature融入。# G3 |* @6 O/ _# i% B' D5 Q; p
9 R$ p9 b4 L9 _9 a* r7 K: `, X
就拿下载方式来讲,以往的传统方式是去网站,每个独立的Cube MCU固件包有独立的下载页面。随着CubeMX的引入和发展,所有的Cube MCU固件包都可以以CubeMX为操作平台,自动刷新有无版本更新,并且通过在CubeMX界面上一键下载,无需再手动登录到官网页面,搜索这张胶片,概况了到现在2019年底,STM32官网上发布的14大系列产品线,它对应的Cube MCU固件包。刚才说,Cube MCU固件包里的功能是横向的,因此可以看到它包括了很多中间件模块,比如FreeRTOS,Fatfs,USB主机/设备协议栈、LwIP TCP/IP协议栈等。; ?: C0 |" ^5 j, r
$ h: x7 e- V& j5 b' I& J  X1 Y

0 C. V1 u9 j" C* S- x) S5 _
以G0的MCU固件包为例,我们看一下它里面的结构和内容

6 T; m- p5 k1 u* b胶片左图展开了STM32CubeG0固件包的结构。3 T0 X; U) l0 l; L* ]# L/ D

1 b. y  n9 a% X>> 因为它是专门针对G0系列的,因此Driver目录下只有G0的HAL驱动0 _- R) U% ?7 k+ R/ @
>> 中间件目录下,可以看到有来自第三方的文件系统Fatfs和FreeRTOS,来自ST的USB PD协议栈9 t8 W) R9 g8 h' P
>> project目录下,可以看到目前ST官方有6块基于G0的评估板,在这个目录的,每个评估板的子目录下,分别存放着在这个评估板下,pre-build好的项目。无需修改,下载后即可运行。

% w/ D4 w  T  W
每个Cube MCU固件包里都有几个重要文档,希望大家不要忽略。/ _$ t& p% x, s$ n
>> 在Documentation目录下,有个PDF文档,每个系列固件包里该文档的内容都差不多,第一次使用STM32Cube MCU固件包,建议好好读一下;它介绍了这个MCU固件包的架构、具体内容(支持的板子、文件夹内容)、如何运行首个例子程序,并如何从参考例子的.ico文件开始,开发自己的应用
+ y" T, B3 q" r" S! C>> Release Note,是在Project目录下,它说明了该Cube MCU固件包里每个软件模块的license,软件包里的bug
: ?1 K+ \4 }, M( u( v& U: }* ^>> CubeProjectList,也是在Project目录下,打开文件来看:一个表格,每一行是一个例子;每一列是一个板子;交叉处即是:该板子上是否有这个例子。交叉处的【-】,表示没有;【X】表示有;【CubeMX】表示该例子是由CubeMX工具生成的初始化吸、外设、中间件等,因此它有对应的*.ioc文件。# R4 K$ }# u( e1 I
- M, b! c, q6 \, X7 `3 V9 ?
4 X. p6 v4 D1 s- Z
(2)STM32Cube功能扩展固件包
' t) M" ^- m+ {6 E$ B) s! {  f

2 Y% z& N4 E: O5 @1 V, K! e第二种STM32固件包是“STM32Cube功能扩展固件包”,目前它还不能像Cube MCU固件包那样,可以在CubeMX里刷新、查询是否有更新,并一键下载。还是需要手动到ST官网上下载,网址如图。胶片里贴的是Cube功能扩展包的主入口页面,扩展包的名字通常以X-Cube或者FP-开头。通过filter可以筛选以缩小搜寻范围。页面上筛选后的列表还可以通过export功能以excel文件形式导出。一般用户不大会用到,通常找到需要的功能扩展包,点击超链进去,就可以下载压缩包以及相关使用文档。
" n: y7 O: K0 Y* J( _- m8 q/ b7 o
我们以X-Cube-AWS这个功能扩展包为例,
$ A' Z( z( o6 q; r

, o8 o; G, `& {- s3 x+ _X-Cube-AWS是压缩包的名字,解压后就是STM32CubeExpansion_Cloud_AWS,加上版本号作为尾缀。顾名思义,该功能扩展包就演示如何连接AWS IoT云平台的,该功能不在普通的Cube MCU固件包中,因此是一个“扩展”的功能。从Driver目录下,看它包含了F4、F7、L4三个系列的HAL驱动;同时Projects目录下,可以看到它支持了四个板子,有在这四个板子上pre-build好项目例程。这是和MCU Cube固件包第二个不同的地方。

0 M; ^. Y0 @3 b: B9 Y/ f3 ]
和MCU cube固件包一样,每个功能扩展包也有相应使用文档,有些还有额外的辅助工具(比如这里的AWS-Dashboard,它是一个ST在AWS服务器上搭建的前端页面。用户在STM32板子上运行X-Cube-AWS例程的时候,可以在这个网页dashboard上,以视图的方式看到板子上传的传感器数据,并遥控板子的LED开关)。有些功能扩展包,还有搭配的手机app,配合使用。
' N/ O& a0 o5 f+ _
% M5 k' Y) g- R7 @
总而言之,功能扩展包,它是针对一个特定的,在Cube MCU固件包中没有的功能;通常支持多个芯片系列的ST官方评估板。
收藏 评论0 发布时间:2020-1-16 01:09

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版