STM32MP1マイクロプロセッサの紹介
OSAKA NDS Embedded Linux Cross Forum2020年2月5日（水）植田 真司
STマイクロエレクトロ二クス株式会社
マイクロコントローラ & デジタル製品グループ

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

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

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

2019年売上： 95.6億ドル▪

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

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

2▪

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

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

主要工場： 11工場▪

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

研究開発への確固たる取組み

3• 世界各地に主要技術研究開発センター• 取得特許 約18,500件
特許ファミリ 約9,600件
新規出願特許 約590件（2019年）• 研究開発スタッフ （R&Dおよび製品設計）
約7,800 名

2019年12月31日時点

あらゆるシーンで活躍するST製品
よりスマートで、安全性が高く、効率的な工場や作業現場に向けた革新的な産業機器

より安全で、環境に優しく、コネクテッドな運転より高性能で接続性が高く、環境認識が可能なスマート･デバイス

生活の向上、セキュリティの強化、および利用可能なリソースをより活用できるスマートな
住宅 & 都市4

Smart Industry

Smart Industry
工場・職場をより安全・効率的・スマートに

Smart Industry• より効率的な生産工場• サプライ･チェーンにおける柔軟性とカスタム性の向上• 無駄の削減とエネルギー使用量の低減による持続可能な生産• より安全な職場環境• 人間と機械のより優れた連携• 機械とツールの最適な使用

5Smart Home & City

Smart Home & City

6

住宅と都市をよりスマートに

Smart City

Smart Home• 交通・地方自治体のサービスを向上させる
スマートな都市インフラ• エアコン、生活家電、施錠システム、アラームなどのスマート制御• スマート・グリッド• 住宅とスマート・グリッドをつなぐ
スマート・メータ• 地域に合わせたインテリジェントな公共照明• スマート・ビルディング• より高いエネルギー効率、利便性、快適性とセキュリティ

重点製品ファミリ
研究開発と製造の相乗効果を生かし、対象とする市場で高い相互補完性を発揮するSTの製品ポートフォリオ

オートモーティブ
車載用IC

MEMS &専用イメージセンサ

インダストリアル

ディスクリート &パワー
トランジスタアナログ、産業用 &電力変換IC

ST独自技術によるASIC
パーソナル電子機器

通信機器 /コンピュータ / 周辺機器

汎用MCU & MPU
セキュア･マイコン
EEPROM

7

Arm® Cortex®ベースファミリSTM32
幅広い選択肢 / シリーズを超えた互換性 / 豊富なエコシステム
デュアルCortex-A7+ Cortex-M4

マイクロプロセッサ

ハイパフォーマンス
メインストリーム
超低消費電力長期供給保証

ワイヤレスCPU

Cortex-M4/M0+
デュアルコアCortex-M0/M0+

Cortex-M3

Cortex-M4

Cortex-M33

Cortex-M7

Cortex-A7

8

STM32の注力エンド･マーケット
インダストリアルパーソナル電子機器

通信機器 /
コンピュータ / 周辺機器

STM32
超低消費電力シリーズ
STM32
ハイ・パフォーマンス シリーズ

STM32 MPU（Linux）STM32
ワイヤレス シリーズ
STM32 メインストリーム / エントリ･クラス シリーズ9

組込みプロセッシング 市場トレンド
組込みプロセッシング* TAM•

多様なアプリケーションにおけるプロセッシング

+4.7%

•

5Gネットワーク導入に伴うIoTの浸透

CAGR

•

エッジAIの普及•

セキュアIoT端末を起点とする新たな応用分野••••

産業用ロボット / 工場自動化
健康・医療 & イメージング
ドローン
POS（Point of Sales）システム

••
•
•
•
•
•
•

生活家電
健康・フィットネス
3DプリンタポータブルPOS（Point of Sales）
産業機器、電動工具
スマート･メータ
パーソナル・ヘルスケア
スマート農業

14,00012,00010,000
8,000
6,000
4,000
2,000
02015

汎用マイコンインダストリアルの成長ドライバ

2021E

組込みMPU（インダストリアル）* 車載用マイコンを除く
出典: WSTSおよびST

10

インダストリアル･アプリケーションのニーズ
トレンドをリードするSTM32
演算性能の強化•••

Cortex MCU & MPUの高性能化
ユーザ･インタフェースの強化
産業機器ニーズに最適化された機能

より高度なAI•••

コネクティビティの多様化•••

産業用イーサネット
NFC、Bluetooth® LE、WiFi
LPWAN、CAT-M/NB-IOT 4G to 5G

エッジ端末へのAI実装に対応
リアルタイム応答性、プライバシー保護
予知保全などへの応用

セキュリティの強化•••

完全性（インテグリティ）の担保
セキュアな通信
機器認証によるプライバシー保護

11デュアルコア・プロセッシングの活用
産業機器

ホーム･オートメーション＆セキュリティ- 通信用プロトコル処理 / ゲートウェイ- リアルタイム処理（モータ制御など）とAIを活用したセンサ･データ処理の並列化- GUIとAIの並列処理 （例: 音声コマンドやノイズパターン検出によるアラーム）- 通信/ゲートウェイとリアルタイム応答インタフェース

12マルチコア・アーキテクチャのメリット
システム性能の向上

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

システム・コストの低減

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

Cortex-A7

STM32H7 / MP1マルチコア製品へより多くのタスク処理を割り当て、BOMコストを削減• 外付け部品の削減（マルチコアへの機能実装）• 複数のMCU / MPUの1チップ化• 通信機能の拡張とユーザ・インタフェースの高機能化

13エッジAIを可能にするSTM32
イノベーションをシンプルに• ビジネスの拡大に貢献: 既存アプリケーションへの追加実装による付加価値の提供• 新たな機会創出: AIで生まれる新アプリケーション• コストおよび消費電力の最適化: 高性能MPUが必要だったAIをシンプルなマイコン上で実現• AI対応による高性能化: 演算処理機能の追加で応用範囲を拡大
xxx

STM32のロードマップは、自律機能や機械学習機能を備え、高い電力効率を持ち、アプリケーションにより最適化された次世代端末の実現に貢献

14

STM32が可能にするAIアプリケーション
MediumLow• センサ･データの分析• 活動量の認識（モーション・センサ）• ストレス / 注意力の分析
10 MOPSHigh• 音声認識• スピーチ認識• シンプルな（低解像度）物体検出
GOPS• 物体検出 / 分類 / トラッキング• 自然言語の認識 / スピーチ合成

0.5-1 TOPS

MCU

1-2 TOPS

専用IP搭載のMCU/MPUから専用SoC
物体･ジェスチャ
認識用デバイス

産業機器
予知保全用モジュール15x

スマート・シューズ
活動量トラッキング
画像分類

xx

STM32MP1 Discoveryボード

AIアクセラレータ搭載の次世代STM32

STM32セキュリティ・エコシステム = STM32Trust
STM32 セキュア
ハードウェアIP

IoT機器
開発ツール

セキュリティソフトウェア• サイバー・セキュリティ• ライフタイム・セキュリティ

16

STM32MP1 : 汎用マイクロプロセッサ
マイクロプロセッサをSTM32ファミリに追加
マイクロプロセッサ
Dual Cortex-A7 @650MHz (2x 1235DMIPS)
Cortex-M4 @200MHz (250DMIPS)

マイクロコントローラ
Cortex-M7 @400MHz (856DMIPS)
Cortex-M4 @200MHz (250DMIPS)

Cortex-M7 @216MHz (462DMIPS)

Cortex-M4 @180MHz (225DMIPS)

Cortex-M3 @120MHz (150DMIPS)

STM32 ハイパフォーマンスシリーズ

17

STM32MP1 : 応用分野
• 産業機器• HMI（操作部等）• PLC• バーコードリーダ• ヘルスケア• 民生用ヘルスケア機器• ビルオートメーション• 入退室管理・制御システム• 民生機器• IoT ゲートウェイ• ウェアラブル機器• スマート･スピーカ• フィットネス機器• エレベータ操作部

18

STM32MP1 : 製品ライン• 3種類の主要製品ライン• オプションでセキュリティ機能を準備（暗号回路およびセキュアブート機能の有無）

STM32MP157

2x Cortex-A7

Cortex-M4

TFT display & DSI I/F

STM32MP153

2x Cortex-A7

FD CAN I/F

Cortex-M4

TFT display I/F

STM32MP151

1x Cortex-A7
TFT display I/F

GPU+ 共通ペリフェラル
FD CAN I/F

Cortex-M419

STM32MP157 ブロック図• パッケージ• LFBGA448（18 x 18 ピッチ0.8）• LFBGA354（15 x 15 ピッチ0.8）• TFBGA361（12 x 12 ピッチ0.5）• TFBGA257（10 x 10 ピッチ0.5）

システム

デュアル 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 (シングル/ダブル精度)

256KB L2キャッシュ

MMU

GIC

デバッグ(JTAG & ETM)

内部RCオシレータ
32 kHz + 4 MHz + 64 MHz
6x PLLs
クロックコントロール

トラストゾーン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)

カメラ・インターフェイス

DMA

RTC (Vbat) / AWU

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

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

DFSDM 8チャンネル/ 6フィルタ
16-bit FMC (NAND 8-bit ECC)

3x ウオッチドッグ
最大176 GPIO
Cyclic redundancy check (CRC)
96-bit ユニーク ID

SPDIF 4チャンネル

Cortex-M4 @ 209MHz
FPU

MPU

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

2x CAN2.0B / TTCAN / FDCAN

4x SAI

NVIC

JTAG/SWD debug & ETM

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

システムRAM 256KB

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

デュアル Quad SPI

2x USB2.0 Host EHCI
+ 2x HS PHY
USB2.0 OTG HS + FS PHY
HDMI-CEC

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

暗号化

コントロール

アナログ

3DES, AES256, GCM, CCM

2x 16-bitモータコントロールPWM synchronized ACタイマ2x 16/14bit ADC 7.2MSPS 22チャンネル

SHA-1, SHA-256, MD5, HMAC

10x 16-bit タイマ

アナログ真乱数発生器(RNG)

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

2x 12-bit DAC
温度センサ

一部製品ラインでは対象外

20

STM32MP1: エコシステム
マイクロプロセッサ開発に最適な環境を準備
ソフトウェアハードウェア

ユーザ・サポート
FAEサポート

開発コミュニティ
community.st.com

各種評価ボード21

22

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

STM32CubeMX

IDE（統合開発環境）

MPU用 拡張版STM32CubeMX

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

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

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

STM32CubeMX機能
ピン･アサイン & 機能設定
Cortex-A7 & M4の各種機能を簡単設定• ピンアサイン• ペリフェラル機能設定• 割り込み設定• DMA設定• GPIO設定• ミドルウェア設定• クロック設定

24

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

25

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

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

ターゲットDDRのH/W設定
ターゲット
DDRのパラメータ修正

ターゲットDDRのパラメータ設定

26

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

DDRテスト

DDRテスト
項目

テスト結果

27

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

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

28

STM32CubeProgrammer

29

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

ミドルウェア・パッケージ
OpenSTLinuxSTM32CubeMP1

Cortex-A7用
ソフトウェアパッケージ

Cortex-M4用
ソフトウェアパッケージ

Cortex-M4

Cortex-A7

Linux kernel
U-BootOP-TEE
TF-A

USB
TCP/IP

FreeRTOS

30

OpenSTLinuxパッケージ
Starter Package

Developer Package

Distribution Package

EVALボードおよびDiscoveryボード用バイナリ• デモソフトを動作• Developer Packageで作成

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

Yoctoベースの開発環境
他社プロセッサに慣れている方はこちらのほうが便利

OpenSTLinuxはA7用のソフトウェアパッケージ
Linuxのソフトウェアが使用可能

31

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

デバッガ
Cortex-A7

Cortex-M4

IARシステムズ

EWARM

EWARM

I-jet

Arm

ArmDS

ArmDS

U-LINKST

GCCベースで開発

System Workbench（フリーソフト）

STLINK-V3(Web価格 $35)

32

開発用ボード
EVALボード<搭載デバイス・機能>

STM32MP157C-EV1 （セキュアブート & 暗号対応）
STM32MP157A-EV1 （セキュアブート & 暗号非対応）• 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

33

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 andArduino• 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

34

STM32MP1マイクロプロセッサ
さらなるインテリジェンスを実現
Cortex-M4
リアルタイムOS
STM32CubeMX=+X-LINUX-AI-CV
ソフトウェア・ライブラリによるサポート

デュアルCortex-A7
OpenSTLinuxディストリビューション
STM32CubeMX&• STM32Cube.AIによりCortex-M4で動作するコードへ学習済みニューラル・ネットワークを変換• TensorFlow LiteによりデュアルCortex-A7で動作するネイティブ・ニューラル・ネットワークの推論をサポート

35

開発に向けて
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

36

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

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

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

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

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

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

www.stmcu.jp
こちらをClick!

37

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

38

NDS様との協力• エンドユーザ・カスタムボードに対応する 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）

39

STM32MP1デモ

手書きの文字認識アプリケーション① M4側で実行されているファームウェアにより分析② 文字が認識されると左側に表示③ 認識された文字がアプリケーションに関連付けられている場合、アプリケーションが起動

A：オーディオ再生を開始
C：カメラ･プレビューを起動
P：写真を表示V：ビデオ再生を開始
S：起動したアプリケーションを停止
Q：人工知能のデモを終了

40

ご清聴ありがとうございました