マルチコア搭載MPU
STM32MP1OpenSTLinuxの活用~ IoTゲートウェイのご紹介 ~Osaka NDS Embedded Cross Online Forum #13

STマイクロエレクトロ二クス株式会社
マイクロコントローラ製品技術部

アジェンダ1

組み込み開発のトレンド

2

STM32シリーズの紹介

3

IoTゲートウェイでの使用例

4

IoT開発でLinuxとSTM32MP1を使用するメリット
2

STマイクロエレクトロニクスについて• グローバルな半導体企業• 2020年売上： 102億ドル• グループ従業員数： 約46,000名• 研究開発スタッフ： 約8,100名• 世界各国に80のセールス・オフィスを持ち、10万社以上の顧客をサポート• 主要工場： 11工場
• 国連グローバル・コンパクトの署名企業
レスポンシブル・ビジネス・アライアンスのメンバー企業

As of December 31, 2020

3

組込み開発のニーズと課題• スマートフォンの普及に伴う、多機能化ニーズ• 多機能化に伴う、ソフトウェアの肥大化

さまざまな課題

Wifi

カメラ

動画

CPUの能力が足りない…
デバイスドライバの作成が大変AI

3DBluetooth®

開発期間が短い4

開発手法の変化• 多機能化＆短納期対応には組み合わせ型開発への移行が必須• 多機能化と応答性の両立には、汎用OS(Linux等)とRTOSの組合せが必要
組み合わせ型

擦り合わせ型

自社
オープン
ソース

通信
アプリ
GUI
アプリ

ドライバ
32bitマイコン
ASIC
16bitマイコン

GUI
アプリ

RTOS

RTOS

パートナ
半導体
メーカ

制御
アプリ

制御
アプリ

通信
アプリ
Linux

UART
ドライバ

GPU
ドライバ

Ethernet
ドライバ

コア

コア

コア

A

B

C

マルチコアプロセッサ5拡大し続けるSTM32ポートフォリオ
顧客数 ： 6万社以上 STM32累計出荷数 ： 60億個以上（2007年～）
STM32MP15136 CoreMark
800 MHz Cortex –A7
209 MHz Cortex –M4

ﾏｲｸﾛﾌﾟﾛｾｯｻ
STM32F2

ﾊｲﾊﾟﾌｫｰﾏﾝｽ
ﾏｲｺﾝ
ﾒｲﾝｽﾄﾘｰﾑ
ﾏｲｺﾝ
超低消費電力
ﾏｲｺﾝ
ﾜｲﾔﾚｽ
ﾏｲｺﾝ

398 CoreMark
120 MHz Cortex-M3

STM32F4608 CoreMark180 MHz Cortex-M4

STM32F7

STM32H71082 CoreMark
216 MHz Cortex-M73224 CoreMark
550 MHz Cortex -M7
240 MHz Cortex -M4

STM32F0

STM32G0

STM32F1

STM32F3

STM32G4

106 CoreMark
48 MHz Cortex-M0

142 CoreMark
64 MHz Cortex-M0+

177 CoreMark
72 MHz Cortex-M3245 CoreMark
72 MHz Cortex-M4

550 CoreMark
170 MHz Cortex-M4

STM32L0

STM32L1

STM32L4

STM32L4+

STM32L5

STM32U575 CoreMark
32 MHz Cortex-M0+

93 CoreMark
32 MHz Cortex-M3273 CoreMark
80 MHz Cortex-M4409 CoreMark
120 MHz Cortex-M4443 CoreMark
110 MHz Cortex-M33651 CoreMark
160 MHz Cortex-M33

STM32WL

STM32WB

162 CoreMark
48 MHz Cortex-M4
48 MHz Cortex-M0+

216 CoreMark
64 MHz Cortex-M4
32 MHz Cortex-M0+

ミクスト・デジタル・アプリケーション

デュアルコア: Cortex-M4 および Cortex-M0+
6

プロセッサとマイコンの違い• プロセッサの強み ： ハイパフォーマンス・MMUによるメモリ空間分離• マイコンの強み ： 低コスト・低消費電力• 両者の強みは互いに補完可能な関係にある

分類

設計思想

使用OS

プロセッサ

演算性能重視Linux等
汎用OS

マイコン

コスト重視

リアルタイムOS
ベアメタル

コスト
△

ROM/
RAM
外付

◎

ROM/
RAM
内蔵

演算性能

メモリ空間分離

消費電力

◎

高クロック
深いパイプライン
キャッシュ機構

△

高クロック

◎MMU
あり

〇

低クロック
浅いパイプライン◎低クロック

△

MMU
なし
7

STM32MP1ホームIoTデモ• ワイヤレス（Bluetooth® LE、LoRa）室温・湿度監視• ワイヤレス部処理はCortex®-M4、GUI部の処理はCortex-A7での分散処理• LCDパネルとネットワーク経由ブラウザ両方で温度・湿度グラフ表示が可能

8

STM32MP1ホームIoTデモ
ROOM1 温度・湿度・気圧

ROOM2 温度・湿度・気圧

Bluetooth Low Energy子機

LoRa子機NUCLEO-F411RE

ディスプレイ

B-L072Z-LRWAN1

TFT

バックライトディスプレイICSTLD40DPUR

X-NUCLEO-IDB05A1
Bluetooth Low Energy通信

LCDモジュール
OLIMEX LCD16X2

Bluetooth Low Energy
モジュール
X-NUCLEO-IDB05A1

I2C

LoRa通信タッチIC

LoRaモジュール
SX1272 mbed shield

ROOM1 温度・湿度・気圧

通信状態表示SPI

ROOM2 温度・湿度・気圧

SPI

Cortex-M4

ブロック図

I2C

タッチ位置

グラフ表示GUI

DSI

UART

内部通信

Bluetooth

Cortex-A7
SDIO

DDRCSDIOUSB

Wifi
グラフ
表示
Web

無線モジュール

STM32MP1
DDR3L

SDカード

USB

9

IoT開発でLinuxを使用するメリット• Wifi、イーサネット対応など充実したネットワーク機能• オープンソースのライブラリで手軽にHTTPサーバ実装• 商用のGUIツールで美しいUIを実装• コア間通信処理もフレームワークでお手軽実装
用途

名称

特徴

HTTPサーバ

GNU Libmicrohttpd

C言語で簡単にHTTPサーバを実装できるライブラリ

GUI

Crank Storyboard

Linuxで簡単に美しいGUIをデザイン可能

コア間通信

OpenAMP

Cortex-A7とCortex-M4間を仮想シリアル通信で通信可能

10

STM32MP1を採用するメリット
システム性能の向上

開発期間の短縮• マルチコアによる並列演算処理（リアルタイム処理と複雑な演算処理の並列実行）• 並行したシステム開発（コア毎に独立した開発チーム）• 使用部品点数の削減で基板設計と検証が容易かつ短期間に• 演算処理時間の短縮化による平均消費電力の削減
Cortex-A7

Cortex-A7

システム・コストの低減

システム効率の向上MP1マルチコア製品へより多くのタスク処理を割り当て、BOMコストを削減

各コア間での処理負荷の最適な分散• Cortex-A7（高性能演算処理）:
GUI、DSP、セキュリティ• Cortex-M4（リアルタイム処理）:
通信処理、 RTOS、モータ制御、プロセス・コントロール

Cortex-M4• 外付け部品の削減（マルチコアへの機能実装）• 複数のMCU / MPUの1チップ化• 通信機能の拡張とユーザ・インタフェー
スの高機能化Linuxの弱点である割り込みレイテンシが大きい問題も解決

11

STM32MP1と開発エコシステム
ソフトウェアハードウェア

ユーザ・サポート
STM32 Wiki

OpenSTLinux

wiki.st.com/stm32mpu
開発コミュニティ
community.st.com
STM32MP157F-EV1

ST-Japan
FAEサポート(日本語)

STM32MP157F-DK2
12

豊富な機能セット
3D GPUを含めた先進的かつ柔軟なアーキテクチャ

ディスプレイディスプレイ･インタフェース

3D
GPU

メモリ
DDR3
DDR3L
LPDDR2LPDDR3
SLC NANDSPI NANDNOR Quad-SPI
eMMC
SDカード

メモリ
インタフェース

Cortex-A7

Cortex-M4

アナログI/F

通信USB
U(S)ART
I²C

ΔΣ復調器
SAI / I²SSPDIFCAN FD
SPI
イーサネット

16bit ADコンバータ
12bit DAコンバータ

Cortex-AとCortex-M間でペリフェラルの柔軟なマッピングが可能

13STM32MP1 ポートフォリオの拡張
48製品型番

STM32 MP151D

MPU@ 800 MHz

1520 + 260 DMIPS
800 MHz Cortex-A7
209 MHz Cortex-M4

MPU@ 650 MHz

1235 + 260 DMIPS
650 MHz Cortex-A7
209 MHz Cortex-M4

STM32 MP151A

MP151F

STM32 MP153D

MP153F

STM32 MP157D

MP157F

Security

3040 + 260 DMIPS
800 MHz 2x Cortex A7
209 MHz Cortex-M4
CAN FD

Security

3040 + 260 DMIPS
800 MHz 2x Cortex-A7
209 MHz Cortex -M4
CAN FD - 3D GPU - DSI

Security

MP151CSTM32 MP153A

MP153CSTM32 MP157A

MP157C

Security

2470 + 260 DMIPS
650 MHz 2x Cortex-A7
209 MHz Cortex-M4
CAN FD

Security

2470 + 260 DMIPS
650 MHz 2x Cortex-A7
209 MHz Cortex-M4
CAN FD - 3D GPU – DSI

Security

すべてのリファレンスにおいて4つパッケージを準備
TFBGA257 10x10mm p0.5 (4 layers PTH PCB) -最小パッケージ デュアルCortex-A GP MPUTFBGA361 12x12mm p0.5 (4 layers PTH + Laser via PCB)LFBGA354 16x16mm p0.8 (4 layers PTH PCB)

全ての製品でSWおよびピン配置互換性

LFBGA448 18x18mm p0.8 (6 layers PTH PCB)

Arm® Cortex® core

Cortex-A7 + Cortex-M4

デュアルCortex-A7 + Cortex-M4
14

STM32MP157 ブロック図
一部製品ラインでは対象外

システム

デュアル Arm Cortex-A7 @ 650MHz

電源
レギュレータ LDO x5

コア 1 @ 800MHz
L1 32KB I / 32KB D

コア 2 @ 800MHz
L1 32KB I / 32KB D

外部 オシレータ
32 kHz + 4~26 MHz

NEON SIMD MPE

NEON SIMD MPE

VFPv4 (シングル/ダブル 精度)

VFPv4 (シングル/ダブル精度)

内部RCオシレータ
32 kHz + 4 MHz + 64 MHz

256KB L2キャッシュMMU

6x PLLs

GIC

デバッグ(JTAG & ETM)

クロックコントロール

DMA

トラストゾーンOpen GL ES2.0 GPU
26Mtri/sec, 133Mpix/sec
通信インタフェース
ディスプレイ I/F 24-bit RGB+ DSI MIPI transceiver

ギガビットイーサネット
IEEE1588V2 RGMII, GMII,MII, RMII

6x I²C FM+ (SMBus/PMBus)

カメラ・インターフェイスDFSDM 8チャンネル/ 6フィルタ

RTC (Vbat) / AWU

DDR3/L 32b @ 533MHz / lpDDR2/lpDDR3 32b @ 400MHz

4x USART + 4x UART
LIN,スマートカード, IrDA,
モデムコントロール

3x ウオッチドッグ

Arm Cortex-M4 @ 209MHz

6x SPI / 3x I²S (Full duplex)

最大176 GPIO
Cyclic redundancy check(CRC)
96-bit ユニーク ID

SPDIF 4チャンネル

FPU

MPU

4x SAI

NVIC

JTAG/SWD debug & ETM

3x SDIO3.0 / SD card 3.01 /eMMC4.51

システムRAM 256KB

16-bit FMC (NAND 8-bit ECC)

マイコン・システムRAM 384KB

バックアップRAM 4KB / リテンション RAM 64KB / OTP fuse 2Kb

2x CAN2.0B / TTCAN /FDCAN
2x USB2.0 Host EHCI
+ 2x HS PHY
USB2.0 OTG HS + FS PHY

デュアル Quad SPI

HDMI-CEC

暗号化

コントロール

アナログ

3DES, AES256, GCM, CCM

2x 16-bitモータコントロールPWM synchronized ACタイマ

2x 16/14bit ADC 7.2MSPS 22チャンネル

SHA-1, SHA-256, MD5, HMAC
アナログ真乱数発生器(RNG)

10x 16-bit タイマ

5x 16-bit LPタイマ
2x 32-bitタイマ

2x 12-bit DAC

温度センサ

15まとめ• 多機能化と応答性の両立には、汎用OS(Linux等)とRTOSの組合せが必要• LinuxとリアルタイムOSのマルチコア動作にはSTM32MP1が最適• 充実したエコシステムで容易に開発可能

16

Thank you© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.