STM32MP1とエコシステムの紹介
STマイクロエレクトロ二クス株式会社
マイクロコントローラ製品技術部
小谷 豊

アジェンダ
1

STについて5

動画再生、3D、AIデモ

2

組込み開発のニーズと課題

6

STM32MP1開発ツール

3

STM32MP1の特徴と利点

7

サポート体制4

OpenSTLinux

8

Q&A
2

STマイクロエレクトロニクスについて▪

グローバルな半導体企業▪

世界10万社以上の顧客をサポート▪

2019年売上： 95.6億ドル▪

ニューヨーク / パリ / ミラノ証券取引所に上場▪

国連グローバル･コンパクトの署名企業
レスポンシブル・ビジネス・アライアンスのメンバー企業▪

グループ従業員数： 約46,000名▪

研究開発スタッフ： 約7,800名▪

主要工場： 11工場▪

世界各国に80のセールス･オフィス2019年12月31日時点

3組込み開発のニーズと課題
お客様からこんなご要望はありませんか？
さまざまな課題

Wifi

カメラ

動画

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

AI

3D

Bluetooth®

開発期間が短い4

STM32MP1とエコシステムのご提案ソフトウェア

ハードウェア

ユーザ・サポート
STM32 Wiki

OpenSTLinux

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

STM32MP157C-DK2
STM32MP157A-DK1(LCDなし)

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

5

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

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

Cortex-A7

システム・コストの低減

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

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

6

STM32MP1の特徴
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間でペリフェラルの柔軟なマッピングが可能

7

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-M48

OpenSTLinuxパッケージ
スタータ･パッケージ（今回のデモ）
EVALボードおよびDiscoveryボード用バイナリ• デモ･ソフトの動作• 開発者パッケージで作成
開発者パッケージ

開発用ソースコード群• 通常のアプリケーションおよびデバイス･ドライバの作成に使用

ディストリビューション･パッケージ

Yoctoベースの開発環境• 他社製プロセッサに慣れている方はこちらの方が便利
910OpenSTLinux Starter Package
デモ用コードの概要
デモ内容

使用言語+ライブラリ

コード行数

評価ボード
EV1

ディスカバリー
キットDK2

デモ用ランチャー

Python + Gtk

780行

〇

〇

C + Gtk + Cairo

GUI:1578行
NN:2110行〇〇

AI(自動生成部除く)

3D表示

シェルスクリプト
+egl

3行

〇

〇

ビデオ再生

シェルスクリプト+gstreamer

3行

〇

〇

カメラ表示

シェルスクリプト+gstreamer+v4l2src

3行〇

Bluetooth

Python + Gtk

717行

〇
11

STM32MP1開発ツール
Arm Cortex-A + Cortex-Mアーキテクチャをサポート

STM32CubeMX

IDE（統合開発環境）

MPU用 拡張版STM32CubeMX

マルチコア･ソリューション

• 初期化プログラムの生成• DRAMインタフェース・チューニング• デバイス・ツリーの生成• パートナー企業製IDE• Eclipseベース無償IDE• マルチコア・デバッグをサポート

STM32
プログラミング・ツール
STM32CubeProgrammer• Flash / DRAM / 内蔵システム･メモ
リへの書き込み• OTP書き込み• 電子署名および暗号カギの生成

STM32MP1詳細はこちら

12

STM32CubeMX機能
ピン･アサイン & 機能設定
Cortex-A7 & M4の各種機能を簡単設定•ピン･アサイン•ペリフェラル機能設定•

割り込み設定•DMA設定•GPIO設定•

ミドルウェア設定•

クロック設定13

STM32CubeMX機能
ペリフェラル機能設定

14

STM32CubeProgrammer
外付けメモリ向けプログラミング･ツール

SPI、UART、USBを経由して、QuadSPI、SDMMC、FMC、I2C、SPI対応外付けメモリ、OTPのプログラミングを実行
PC上でブートチェーンのプログラミングに加えて、コマンドラインの作成が可能

15

Linuxへの継続的な投資
製品設計をよりシンプルで効率的にSTはOpenSTLinuxドライバを継続的にLinuxコミュニティに提供しますLinux 4.19 LTSメンテナンス&サポート

Linux 5.4 LTS
メンテナンス&サポート

Linux 5.x
メンテナンス&サポート
2019

Silver Member

2020

Silver Member

2021

Inventor ofOP-TEE

2022

ActiveMember

2023

Club Member

16大阪エヌデーエス様との協力• エンドユーザ・カスタムボードに対応する BSP（Board Support Package）作成などのサービス• お客様の製品要件を満足させるブートローダ･カスタマイズ• 電源断耐性や障害耐性を向上させるファイル･システム設計（MTD/JournalingFS/OverlayFS）• 高可用性を実現するシステム監視と復旧（systemd/swatch）• セキュアな製品を支えるセキュリティ機能実装（Secureboot/OPTee/TrustZone/SAMC/iptables/fail2ban/aide）• 各種機器との接続を可能にするネットワーク設定（CAN/Ether/WiFi/Bluetooth/RS485/LTE/3G）• フィールドバスからクラウドまで接続するプロトコル対応（IP/modbus/ws/mqtt/AWS IoT/AWS greenglass/Azure IoT Hub）
• ソフトウェア開発を効率化する統合開発環境対応（Yocto/STM32CubeMX）• CI/CDを支える開発環境（Jenkins/Fuego）• ライセンス運用の開発支援（FOSSology）など

17

STM32MP1開発を始めるには迅速な評価、試作および設計に貢献
Available at

Available at

$425

$135

Available at$90

評価ボード

Discoveryボード

STM32MP1のすべての機能を評価

試作開発と簡単なデモ用途に• STM32MP157A-EV1• STM32MP157C-EV1• STM32MP157A-DK1• STM32MP157C-DK2+ MIPI DSI WVGAディスプレイ
+ Wi-Fi/BT コンボ・モジュール

各種ボード & SoM*
試作開発から量産までパートナー企業製のツール• Linaro製ボード（96boards.org）• SoM（複数の外形タイプ有り）

評価ボード・Discoveryボードは販売代理店から購入可能*System on Module18

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.

Appendix

Arm® Cortex®マイコン / マイクロプロセッサ STM32
幅広い選択肢 / シリーズを超えた互換性 / 豊富なエコシステム
マイクロプロセッサ

STM32MP1
STM32H7

ハイパフォーマンス
メインストリーム
超低消費電力STM32F2
STM32G0
STM32F0

STM32G4
STM32F1

STM32F3
STM32L4+

STM32L0

STM32L1

STM32L4STM32L5

STM32WB

ワイヤレス
Arm Cortex

STM32F7

STM32F4

STM32WL-M0 / -M0+-M3-M4-M33-M7-A72121

開発ボード
EVALボード<搭載デバイス・機能>• STM32MP157, 18x18mm• ST PMIC, QFN 6x5mm• 2x DDR3L 4Gb, 533MHz• eMMC 4GB• SLC NAND 8Gb• 2x Quad-SPI NOR 512Mb• µSD card slot
• Gigabit Ethernet• 4x USB Host HS Type-A• 1x USB OTG HS Type-C• 720p DSI display 5.7 inches• Audio Codec 24b• CMOS camera sensor• Motor Control connector

STM32MP157C-EV1 （セキュアブート & 暗号対応）
STM32MP157A-EV1 （セキュアブート & 暗号非対応）
22

STM32 Discoveryボード
STM32MP157C-DK2

セキュアブート & 暗号対応
400x800ピクセル MIPI DSI 対応LCD付き
静電気タッチパネル対応
WiFi 802.11b/g/n / BT 4.1対応

STM32MP157A-DK1

セキュアブート & 暗号非対応
LCD無し<搭載デバイス・共通機能>• STM32MP157, 12x12mm• ST PMIC, QFN 6x5mm• DDR3L 4Gb, 533MHz• µSD card slot
• Gigabit Ethernet• USB High Speed Type-C• Shields capability: 40-pin 2.54mm Rpi and Arduino• Arduino™ Uno V3 connector• STLink V2.1 (JTAG, USART console)with OpenOCD support• 5V USB type-C power supply• Audio CODEC 24-bit/192K with
• Audio IN/OUT analog

23

汎用マイコン / マイクロプロセッサ サイト（日本語）• STM32/STM8マイコンのお役立ち情報サイト• 最適なSTM32/STM8をパラメータで簡単検索•

豊富な日本語ドキュメント•

評価ボードやソフトウェア情報を随時更新•

トレーニング資料などの会員限定コンテンツ•

国内パートナー企業のソリューションを公開•

セミナー / イベントの参加申込みが可能

www.stmcu.jp
こちらをクリック！

24

開発に向けて
Wiki URL
STM32 MPU wiki トップページ
https://wiki.st.com/stm32mpu/index.php/Main_Page
2種類のボードを選び、ボードを動かすための手順から各種ソフトの起動方法
https://wiki.st.com/stm32mpu/index.php/Getting_started
開発を始めるに当たって必要なツール、ソフトウェア
https://wiki.st.com/stm32mpu/index.php/Development_zone

YouTubehttps://www.youtube.com/watch?v=hwH2ApYjh3M

25

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

システム

デュアル Arm Cortex-A7 @ 650MHz

電源
レギュレータ LDO x5

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

コア 2 @ 650MHz
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

16-bit FMC (NAND 8-bit ECC)SPDIF 4チャンネル

FPU

MPU

4x SAI

NVIC

JTAG/SWD debug & ETM

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

システムRAM 256KB

マイコン・システム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
温度センサ

26

電力を効率化する柔軟なアーキテクチャ
800MHz動作時の消費電力

589 mW
1/6

RUN

Dual Arm Cortex-A7 @ 800 MHz / Cortex-M4 @ 209MHz

449 mW

RUNArm Cortex-A7 @ 800 MHz / Cortex-M4 @ 209MHz

98 mW

RUN

Arm Cortex-M4 @ 209 MHz

電力の最適化
vs.
処理速度

1/3 K

32 µW
4 µW

STANDBY
VBAT

スタンバイからLinuxコンソールへの起動時間1秒前後
時間をトラッキングし、システムのセキュリティを確保（RTC＆耐タンパ有効）

Typ @ VDDCORE = 1.2V, VDD = 3.3V @ 25 °C, Peripherals OFF
27

割当て
共有

A7NS またはM4 に割当て

A7 セキュア（TZ） A7 非セキュアにに割当て
割当て

A7S と A7NS によって共有

M4 に割当てA7NS と M4 によって共有

ペリフェラルの共有

凡例

A7S または
A7NS に割当て

A7S、A7NS、M4によって共有

出典：ST Wiki article [STM32MP1 peripherals overview]コプロセッサ

Cortex-A7
Cortex-A7（マスタ）
（マスタ）
コア

割込み

Cortex-M4（コプロセッサ）

IPCC

ウォッチドッグ

STGEN

EXTI

IWDG1

SYSCFG

GIC

IWDG2

RTC

NVIC

WWDG

セキュリティ

DMA

DMA1

DMA2

DDR

BKPSRAM（4KB）

MCU SRAM12 MCU SRAM34（128KB）（128KB）

タイマ
TIM（x2）

電力と発熱

HASH2

ETZPC

CRYP2

CRC2

TZC

RNG1

HASH1

TAMP

CRYP1

CRC1GPU

DSI

LTDC

DCMI

CEC

MDMA

RAM
SYSRAM（256KB）

RNG2

DMAMUXRETRAM（64KB）ビジュアル

IO
TIM（x12）

トレースおよびデバッグ

LPTIM（x5）GPIOZ

GPIOA-K

永続的ストレージ ネットワーク
FDCAN（*）：一部のペリフェラルは多機能であり、お客様によって異なるマッピングがされる場合があります。

低速インタフェース
USART（x3）

UART（x4）

SPI6

USART1I2C（x4）SPI（x2）

I2C4

I2C6

USBH
（ホスト）

OTG
（USB OTG）

BSEC
RCC

DBGMCUQUADSPI

PWR

HDP

FMC

DTS

STM

SDMMC1/2（*）
大容量記憶装置

ETH

SDMMC3（*）

高速インタフェース

SPI I2S（x3）（*）

アナログ
VREFBUFDAC

DFSDM（*）

ADC

SPDIFRX

SAI（x4）

オーディオ28

STM32MP1開発ツール
統合開発環境ベンダ

デバッガ
Cortex-A7

Cortex-M4

IARシステムズ

EWARM

EWARM

I-jet

Arm

ArmDS

ArmDS

U-LINKST

GCCベースで開発

System Workbench（フリーソフト）

STLINK-V3(Web価格 $35)

29STM32CubeMX機能
デバイス・ツリー自動生成

Cortex-A7 & M4の設定をもとにデバイス・ツリーの自動生成• Cortex-M4はSTM32HALベースのコードを自動生成• Cortex-A7はブートシーケンス、Linuxカーネルを設定する際に必要となるLinuxデバイス・ツリーを自動生成

30

STM32CubeMX機能
ピン設定

31

STM32CubeMX機能
クロック設定32

STM32CubeMX機能
DDR設定
ターゲットDDRのH/W、パラメータ設定

ターゲットDDRのH/W設定

ターゲットDDRのパラメータ修正

ターゲットDDRのパラメータ修正
33

STM32CubeMX機能
DDRテスト
設定をもとにターゲットDDRのテスト実行

DDRテスト項目

テスト結果

34

STM32Cubemx機能
DDRチューニング
設定、テストをもとにターゲットDDRのチューニング

アイパターン、DQS、DQのチューニング

35

大阪エヌデーエス様との協力• リッチ / リアルタイム / セキュア･アプリケーションすべてに対応する
STM32MP1• STM32MP1 の強みを生かしたソフトウェア提案• Cortex-A7 と Cortex-M4 を柔軟に協調させる OpenAMP 対応• Cortex-A7 から Cortex-M4 を最大限活用する ELFファイルの動的実行による RPC（Remote Procedure Call）対応

36