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

STM32生态系统第五期——STM32Cube嵌入式软件新成员-扩展功...

[复制链接]
STMCU-管管 发布时间:2020-2-11 11:19

3 n8 j; ]) j2 w$ ^. e; M& ~
STM32Cube功能扩展插件

2 _3 y1 T' Z$ W
11.jpg
/ y2 s$ [! E" z% @( _8 S
然后来看,今天要讲的STM32固件新成员:STM32Cube功能扩展插件。Cube功能扩展插件,顾名思义,和刚才讲的Cube功能扩展包,有着紧密的联系。一个是“插件” ,一个是“包” 。第一个好消息是,目前所有ST官方发布的STM32Cube功能扩展插件,都可以和Cube MCU固件包一样,由CubeMX自动去检查版本更新,并可以一键下载。从胶片里的截图可以看到,目前已经有5个功能扩展插件出来了,他们的名字和对应的功能扩展包一样,因此功能扩展插件是基于功能扩展包出来,且二者是兼容的。

7 _  X! F0 x6 W- N5 y; D4 D; [6 @$ U
(1)以X-Cube-BLE1插件为例。
( Z  Z$ \  l6 x( X6 R8 j8 m3 n
22.jpg
4 m3 I$ w; D0 L5 R
一方面,它可以从CubeMX中自动下载,选择最新版本4.4.0,在电脑上默认的存放地址在STM32Cube的repository目录,如图。另外一方面,也可以使用传统的Cube功能扩展包的下载方式,去ST官网搜索找到对应页面,最新版本4.4.0,下载并保存到电脑上的任意路径。压缩包解压后的结构和内容如图,文件夹名称,尾缀是V4.4.0。
X-Cube-BLE插件是从扩展包演讲过来的,因此我们先来看一下压缩包解压后放在根目录下的release note。
& S  Y* L+ Z( t/ a3 R5 |( O; Y" e4 I( n
33.jpg

5 @" c- m7 H1 f3 P8 W/ K
X-Cube-BLE1,从2014年出来第一版,演进到v3.3.0,都是独立的Cube功能扩展包。从2018年6月份,4.0版本,X-Cube-BLE1同时兼容功能插件。并且插件随着CubeMX的版本演进而演进。插件当前最新版本4.4.0,需要至少5.2版本的CubeMX,目前最新的5.4版本CubeMX也可以使用它。
' L* b- ?3 w2 m) _! K1 n; N
我们稍后会把V3.3.0和V4.4.0两个版本的X-Cube-BLE1比较一下。看看支持插件功能的新一代扩展包和传统功能扩展包的区别。
和release note同样路径下还有一个pdsc文件,这是对插件pack的描述文件。

; @3 R, @/ W3 ]
44.jpg
; v% P* o+ e. _% H
从pack的版本历史section,也可以看到它一路演进的过程。可以看出,从CubeMX5.x版本后,Pack的版本号,和X-Cube-BLE1功能扩展包的版本,保持一致了。然后过往版本的插件也都可以在CubeMX中看到,并都可以下载。这是Cube MCU固件包和Cube 扩展功能插件集成到了CubeMX中,对用户很大的一个便利之处。一键下载,以及历史版本都可以获得。

4 ], b; X. o. M0 d$ |
(2)V3.3.0和V4.4.0两个版本的X-Cube-BLE1比较

0 \& n, P3 e$ Z( T7 @, v& F. \
55.jpg
7 ^' l, x# t/ t$ L9 t
左图是Cube-BLE1,3.3.0,不支持pack时候的文件结构和 内容;右图是Cube-BLE1,4.4.0,支持pack后的文件结构和内容。后者多了一个CubeMX文件夹,一个pdsc文件,一个标号为DM00367782的licence文件;在Documentation目录下,还多了一个Getting start文档。这些新增的内容,都是CubeMX功能插件带来的。

( ~+ r6 |( i$ A8 T4 D# z- r  ?
其他的内容差异,比如Projects目录下内容的变化,则是由于STM32Cube规范的演进带来的:在4.4.0里面,例程分别在每个所支持的板子的目录下,预编译项目支持三个板子;每个板子的目录打开,可以看到支持哪些demo,一目了然;3.3.0里,在project/multi/applications目录下的readme.txt才看得到支持哪些板子。
  G: x3 N* B& p8 J! I' Y' x$ P1 o* Z+ \
需要强调的是:由于4.4.0同时支持新的pack插件功能,还要兼容以前的功能扩展包,因此会留有Project目录,以及projects下面支持的若干板子子目录。就Pack插件本身来说,它是完全独立于硬件平台的,不受限于运行在什么板子,是STM32官方评估板,还是客户自己的STM32板子,都可以方便的把功能插件用上去。不像以前的功能扩展包,如果只提供了比如,F401-Nucleo板子上的例程,现在我想跑到F723-discovery板子上,需要手动去做HAL驱动的替换、系统时钟调整等。

( |7 a+ X/ B3 c  W4 t
(3)Getting start文档
+ p* J8 T+ u/ g  i/ {
66.jpg

" n( F& E' J3 R6 ^% ^
Getting start文档,pack压缩包中自带的是《Getting started with the STMicroelectronics X-CUBE-BLE1 softwarepackage for STM32CubeMX的》,讲如何使用X-Cube-BLE1这个插件的。和搭配X-Cube-BLE1功能扩展包下载页面里同步提供的文档UM1873《Getting started with the X-CUBE-BLE1 Bluetooth Low Energy softwareexpansion for STM32Cube》不同。

/ k- ]0 A& s* N# l# |8 H% l
对于首次使用STM32Cube功能扩展插件的用户,强烈建议花一点时间,先把20多页的用户手册快速浏览一下。它介绍了这个插件包里提供的例子,如何在CubeMX中安装这个插件包、在CubeMX中新建项目后,如何添加插件包中需要的组件,以及如何配置这些组件暴露出来的参数,包括和硬件交互的部分。

3 H' Y5 v, k, W4 J2 ^
(4)以F401-Nucleo板为例,运行X-Cube-BLE1插件。
+ d7 n' W' [6 @$ i5 \% G$ r
77.jpg
8 F) [3 o2 @5 @" B
作为准备工作,要把F401-Nucleo板子的硬件接口理一下。X-Cube-BLE1插件是运行在任意STM32上,和搭载BlueNRG-MS低功耗蓝牙模块的X-Nucleo-IDB05A1扩展包一起工作。蓝牙扩展板和STM32的硬件交互有:SPI总线信号、STM32对蓝牙模块的片选控制和复位信号,蓝牙模块对STM32的中断输入信号。分别罗列在表格中。
) L1 D5 ]* ^, k$ _1 h" _8 A
另外,F401-Nucleo板上,自己的原生用户接口,比如打印log的串口、控制板上LED灯和用户按键的GPIO,也罗列了出来。这个在使用STM32CubeMX的图形界面配置插件时需要查阅。
; k0 i/ E" J: a3 q
* h8 [, P; A+ U# e4 h* W
; j. C0 d% n# s. z9 W
赞 收藏 评论0 发布时间:2020-2-11 11:19

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版