STM32Cube WB ファームウェアパッケージ
ファームウェアパッケージ

1.0 版

こんにちは、STM32Cube ファームウェアドライバのプレゼン
テーションへようこそ。STM32Cube ファームウェアドライバはハードウェア抽象化レイヤを構成要素としています。

1

概要

2

STM32CubeMX

STM32CubeL0

STM32CubeH7

STM32CubeL1

STM32CubeF7

STM32CubeL4

STM32CubeF4

STM32CubeF0
STM32CubeF1

STM32CubeF3

STM32CubeG0

STM32CubeF2

このプレゼンテーションは特に STM32WB に関するものです。
STM32Cube の包括的なソフトウェアツールは以下を提供します。
• ユーザの選択に基づく初期化コードを生成する際に使用される STM32CubeMX グラフィカルソフトウェア設定ツール• 各 STM32 シリーズ（STM32CubeWB など）向けの完全な組み込みソフトウェアパッケージで、以下を備えています。
• ハードウェア抽象化レイヤ（HAL）およびローレイヤ（LL）API• ミドルウェアコンポーネントの一貫性のあるセットで、RTOS、USB、TCP/IP、グラフィックスなどを含みます。

2

概要

3

アプリケーションの利点• 単一のパッケージ• すべてのSTM32シリーズと互換性あり• オープンソースBSDライセンスを持つソース
コード

この組込みソフトウェアパッケージは、階層化したアプローチです。
• ローレベル：ハードウェア抽象化レイヤ（HAL）、ライブラリおよびサンプルプログラム付き• ミドルウェアレベル：RTOS、USB、TCP/IP などのサンプ
ルプログラムを含むライブラリセット• アプリケーションレベル：ST ボードでの使用に向けた デモンストレーション

組込みソフトウェアはシリーズ（STM32WB、STM32G0、STM32H7 など）に搭載して提供され、共通モジュールは完全に移植可能な API でカバーされています。
組込みソフトウェアの初期化コードは STM32CubeMX により生成できるため、ユーザはコアアプリケーションのコーディングに集中できます。
3

主な機能
レイヤ

HAL

ミドルウェアカテゴリ

提供する組込みソフトウェア

アナログ

アナログ／デジタル変換

タイマ

タイマ、RTC、ウォッチドッグ、その他

暗号化

CRC、AES、PKAおよび乱数ジェネレータ、その他

コネクティビティI2C、USART、SPI、USB、BTH

インタフェース

外部メモリ、LCD、TSC、シリアルオーディオ

RTOS

CMSIS-RTOS 付きの FreeRTOS オープンソース RTOS

USB

USB ホストとデバイスコア
デバイスクラス：HID、MSC、CDC、Audio、MTP、DFU、および CCID

TSC

タッチセンシングコントローラ

WPAN

BLEスタック、OpenThread スタック、BLE & Thread のスタティック同時モード

ファイルシステム

FatFS オープンソースファイルシステム
NAND ハンドリングを含む拡張メカニズム付き

アプリケーション デモンストレーション

4

提供するサンプルプログラム

ST ボードの 完全なデモ：BT SIG GATT ベースのアプリケーションで、IOS やアンドロイドのスマートフォンへの ST BlueMS アプリケーションを使用

最大 88 のサンプルプログラム
STM32WB ボードが対象

最大 39 のアプリケーション
STM32WB ボードが対象

ST ボードを対象に、最大 22 個の デモプロジェクト

STM32Cube パッケージは、HAL、ミドルウェア、およびアプリケーションの3つのソフトウェ
アレイヤにより、すべての STM32 シリーズ間で最大の移植性を保証する完全な組み込みソフトウェア製品です。
HAL レイヤは STM32 組込みペリフェラルに対して、アナログ、接続、暗号化、グラフィカルの各カテゴリをカバーする API を提供しています。
HAL と製品の使用に際して開発者を支援する豊富なサンプルプログラムを用意しています。
ミドルウェアレイヤには、図に示すように多くのクラスをサポートする完全な USB デバイススタックが含まれています。

プロフェッショナルなグラフィカルスタックソリューションである STemWin は、ST のパートナーである SEGGER の emWin ソリューションと、JPEG 画像のエンコードおよびデコード用の STM32 のオープンソース実装である LibJPEG に基づいており、バイナリ形式で提供されます。
オープンソースソリューションである FreeRTOS による CMSIS-RTOS 実装、またオープンソース FatFS ソリューションに基づく FAT ファイルシステムもあります。
TCP/IP スタックはオープンソース LwIP ソリューションに、また SSL/TLS セキュアレイヤはオープンソースの PolarSSL にそれぞれ基づいています。
ワイヤレススタックは、Bluetooth または Thead 接続用の ST ソリューションです。
STM32_WPAN ミドルウェアには、BLE および Thread スタックの制御に使用するラッパーが含まれています。 また、BLE＆Thread 静的同時モードもサポートしています。
すべての組込みソフトウェアコンポーネントをまとめた高度なデモも、STM32CubeWB パッケージで提供されます。
リリースノート、readme ファイル、または関連するユーザマニュアルを含む完全な関連資料のセットもあります。
パッケージには、無料で使いやすいライセンス条項が付属しています。

4パッケージの構成
ペリフェラルのレジ
スタ宣言、ビット定義、およびアドレスマッピングを定義す
る STM32F4xx
CMSIS ファイルを含む

5サポートするボー
ドの BSP ドライバ

全てのモジュール用のSTM32F4xx HAL ドライバ

タッチセンシングライブ
ラリ

ワイヤレスパーソナル
エリアネットワークライ
ブラリ

事前設定したプロジェクト用の、ボードごとに整理されたサンプルプログラム／アプリケーションのセット

USB デバイスライブラリで、OTG の FS と HSコアの両方をサポートし、また次の各クラスを提供する：
HID、MSC、CDC、オーディオ、DFUコンテンツに関するすべての関連情報を提供するパッケージリ
リースノート：主な変更、サポートするデバイスとボード、サポートするツールチェーン、ファームウェアコンポーネントとバージョン、その他

すべての STM32Cube ファームウェアパッケージと同様に、STM32CubeWB のファームウェアソリューションは、このスライドに示す構成の1つの ZIP ファイルで提供されます。
ソリューションは複数のメインフォルダに整理されています。
•Documentation フォルダには STM32Cube WB の開始関連資料が含まれ、開発者がファームウェアパッケージとその内容をすばやく理解するのに役立ちます。
•Drivers フォルダには、ST が開発したすべてのドライバをまとめています。
•CMSIS には、STM32WBxx がサポートするデバイス、周辺レジスタの宣言、関連するビット定義、およびアドレスマッピングを定義するファイルをまとめています。
•
STM32WBxx_HAL_Driver フォルダには、すべてのペリフェラルのドライバをまとめています。
サポートするすべてのボードのドライバは、BSP フォルダにあります。
•ミドルウェアには、ST またはサードパーティが提供するサポート対象のミドルウェ•
アライブラリとスタックをまとめています。
•Projects フォルダには、サポートするボードおよび事前設定されたプロジェクトに関する Template、Example、Application、および Demonstration に加え、迅速かつ簡単に実行できるようすべての情報を記載した個別の readme ファイルが含まれています。
•Utilities フォルダには、提供されたプロジェクトで使用するさまざまなユーティリティードライバをまとめています。
リリースノートは、すべてのパッケージの内容を一覧表示し、主要な変更を追跡し、サポートするデバイスとボード、および既知の制限に関する情報を記載しています。

5

サポートするデバイスとボード
stm32wbxx.h に定義された
マクロ
STM32WB55xx

6

STM32WB シリーズのデバイス
STM32WB55VG 、STM32WB55CG 、STM32WB55RG

ボード

例

STM32WB55
Nucleo パック

88

アプリケーション デモンストレーション
39

22

STM32Cube はその汎用アーキテクチャにより、移植性の高いハードウェア抽象化レイヤ（HAL）を提供します。開発者は、MCUについての深い知識を必要とせずに、ミドルウェアレイヤなどのレイヤに構築することでアプリケーション機能を実装できます。これによりライブラリコードの再利用性が向上し、他のデバイスに簡単に移植できるようになります。
さらに、STM32CubeWB は階層化アーキテクチャにより、すべての STM32WB マイクロコントローラと ST の設計による開発ボードを完全にサポートしています。ユーザに必要なことは、
stm32wbxx.h ファイルで正しいマクロを定義し、BSP ドライバおよびこのファームウェアパッケージに含まれた各ボードに固有の実例やアプリケーションのプロジェクトと連携することだけです。

6サンプルプログラムの概要

7•

各ボードごとに、EWARM、MDK-ARM、および SW4STM32 ツールチェーン用に事前設定されたプロジェクトとしてサンプルプログラムのセットが提供されます• この図は、STM32WB55 NUCLEO ボードに対するプロジェクトの構造を示しています（注文コード：P-NUCLEO-WB55）。この構造は他のボードでも同じです。
サンプルプログラムは対象となる STM32Cube レベルに応じて分類され、次のように名前が付けられています。

••
•

•

レベル0 のサンプルプログラムは Example と呼ばれ、ミドルウェアコンポーネントなし でHALドライバーを使用します。

•レベル1 のサンプルプログラムは Application と呼ばれ、各ミドルウェアコンポーネントの典型的な使用事例を提供します。

•レベル2 のサンプルプログラムは Demonstration と呼ばれ、すべてのHAL、BSP、およびミドルウェアコンポーネントを実装します。

Template プロジェクトは、サポートしているすべてのボードのファームウェアアプリケーションをすばやく構築するためのものです。
STM32CubeProjectList ファイルを使用すると、ファームウェアパッケージ内の特定のサンプルプログラムをすばやく検索してアクセスできます。
サンプルプログラムはすべて同じ構造をしています。
•¥Inc フォルダはすべてのヘッダファイルを含みます。

•¥Src フォルダはソースコードに使用します。

•¥EWARM、¥MDK-ARM、および ¥SW4STM32 は、 各ツールチェインを使用する事前設定されたプロジェクトを含みます。

•readme.txt は、動き方の例とプログラム実行の環境について記載しています。

各ボードごとに、EWARM、MDK-ARM、および SW4STM32 ツールチェーン用に事前設定されたプロジェクトとしてサンプルプログラムのセットが提供されます
右側の図は、STM32WB55 Nucleo ボードのプロジェクト構造を示しています。これは他のすべてのボードでも同じです。
サンプルプログラムは対象となる STM32Cube レベルに応じて分類され、次のように名前が付けられています。
レベル0 のサンプルプログラムは Example と呼ばれ、ミドルウェアコンポーネント•なしで HAL ドライバーを使用します。
•レベル1 のサンプルプログラムは Application と呼ばれ、各ミドルウェアコンポーネントの典型的な使用事例を提供します。
•レベル2 のサンプルプログラムは Demonstration と呼ばれ、すべてのHAL、BSP、およびミドルウェアコンポーネントを実装します。
Template プロジェクトは、サポートしているすべてのボードのファームウェアアプリケーションをすばやく構築するためのものです。
STM32CubeProjectList ファイルを使用すると、ファームウェアパッケージ内の特定のサンプルプログラムをすばやく検索してアクセスできます。
サンプルプログラムはすべて同じ構造をしています。
•¥Inc フォルダはすべてのヘッダファイルを含みます。
•¥Src フォルダはソースコードに使用します。。
•¥EWARM、¥MDK-ARM、および ¥SW4STM32 は、 各ツールチェインを使用する事前設定されたプロジェクトを含みます。
readme.txt は、動き方の例とプログラム実行の環境について記載しています。

7

関連資料

8

• データシート、登録マニュアル、アプリケーション、テクニカルノートを網羅した使用可能な関連資料の完全なセット

STM32 汎用ドキュメント

STM32 WB シリーズ個別のドキュメント
その内容は、STM32CubeWB ファームウェアパッケージで使用可能な STM32CubeProjectList ファイルに類似しています。
STM32 WB シリーズ個別のドキュメント
STM32 WB シリーズ個別のドキュメント
STM32 汎用ドキュメント
STM32 汎用ドキュメント

STM32 汎用ドキュメント

STM32CubeWB ファームウェアパッケージに関しては豊富な関連資料があります。すべてのSTM32 シリーズに共通する関連資料がある一方で、STM32WB シリーズに固有の関連資料もあります。
STM32Cube ファームウェアパッケージの使用を開始するには、まず最初に STM32CubeWB ファームウェアパッケージのユーザマニュアルを読む必要があります。

8

参照

9

包括的な関連資料リストと STM32CubeWB ファームウェア
パッケージは、ST の Web サイト、www.st.com/stm32cubefw からアクセスできます。

STM32CubeWB ファームウェアは、ST の Web サイト、www.st.com/stm32cubefw からダウンロードできます。
ありがとうございました。

9