既報のとおりSTマイクロエレクトロニクスは、同社の汎用マイコンブランド「STM32シリーズ」に、新たにマイクロプロセッサ(MPU)「STM32MP1シリーズ」を追加した。なぜ新規ブランドではなく、STM32シリーズ製品という位置づけでMPUが追加されたのか、同社の担当者に話を聞いた。
マイコンからMPUへバリューの継承を目指す
そもそも同社がSTM32マイコンの提供を開始したのが2007年。それ以降、毎年のように新たな製品が投入され、そのラインアップは現在、膨大な量におよぶ。そうしたことを考えれば、ブランドを分けても良いのではないかと思うのだが、同社としては、「これまでSTM32を中心としたエコシステムを長年にわたって構築してきた。そのバリューをMPUにも継承させていくことを目的として、STM32シリーズの名前を冠した」と、パートナーたちと長い間をかけて関係を築いてきたエコシステムをMPUでも活用していけることを表す意味もあり、現在の名称となったとする。
実際、STM32MP1では、従来のSTM32で培われてきたソフトウェアやペリフェラルのノウハウを継承できるほか、開発のコンセプトも同じとのことで、従来STM32マイコンが活用されてきた産業機器や民生機器、ヘルスケアなどといった分野における領域でのより高い性能要求などに応えることを第1の目的としているという。
「Linuxベースの産業機器向けプラットフォームを作りたい、というニーズも近年は出てきており、その場合はMemory Management Unit(MMU)を持つMPUが必要となる。そういう意味でもSTM32でMPUを出す必要があった」とのことで、そうした既存分野で進む機能向上への対応という意味合いもあるとする。
STM32MP1は、Cortex-A7+Cortex-M4構成の「STM32MP151」、デュアルCortex-A7+Cortex-M4構成(CAN FD対応)の「STM32MP153」、そしてデュアルCortex-A7+Cortex-M4構成(CAN FDおよび3D GPU対応)の「STM32MP157」の3製品がラインアップされているが、「後発のMPUなので、アーキテクチャで工夫を施している」という。
具体的には、各種のペリフェラルは、ブート時にそれぞれのコアにマッピングして使用することができるほか、STM32マイコンのこだわりの1つであった高精度なA/Dコンバータなども搭載されている。また、Cortex-M4側には448KBの専用RAM領域を用意。これをリアルタイム処理に活用するといった使い方も可能となっている。さらに、MPUだけあっても、システムは開発できない、ということで、プロセッサコアごとの立ち上がりシーケンスなどが最適化(ディスプレイ関連含む)されたPMIC(STPMIC1)も併せて提供したほか、Yocto Projectベースの駆動のためのドライバなどをまとめたオープンソースLinux「OpenSTLinux Distribution」も用意しており、GitHub経由で活用することができるようになっている。
また、OpenSTLinuxに関連して、オープンソースのTEE実装であるOP-TEEも用意。各製品にはオプションとしてAES 256やTDES、セキュアブートなどのセキュリティ機能が用意されており、これらと組み合わせることでセキュア環境を構築することも可能となっている。
マイコンの派生という特徴を最大限に発揮
STM32MP1には、Cortex-A7とCortex-M4が搭載されているわけだが、その活用方法も多彩だ。オーソドックスなスタイルとしては、Cortex-A7側でLinux、Cortex-M4側でRTOSといった使い方が考えられるが、Cortex-M4をメインに活用し、Cortex-A7は電力消費が大きいので、通常時はスタンバイ/スリープで運用し、必要なときに起こす、といった使い方もなどもできる。
また、パッケージにも工夫が施されている。通常、数百ピンといった多ピンのデバイスを実装するプリント基板は6層や8層のビルドアップ基板が必要となるが、それではコストがかかるということで、ピンの配置を工夫。これにより、もっとも大きなパッケージである18mm×18mmのLFBGA448であっても6層の貫通基板で対応することができるようになったほか、最小の10mm×10mmのTFBGA257であれば、4層の貫通基板で対応することができるなど、マイコンユーザーからの要望に応える技術的な配慮が施されている(ただし、ピン数がピン数なので、STM32マイコンとのピン互換はない)。
今後はマイコンとMPUの2つの方向性で製品を拡充
STM32シリーズにMPUが追加されたからといって、STM32マイコンが今後、終息するということはなく、適材適所を目指し、2つの製品ラインが共存していく形となるという。
Cortex-Aシリーズも現状、多岐にわたっている中でSTM32MP1がCortex-A7を選択したというのは、「ド汎用のど真ん中で、将来的なロードマップにおける中位に位置するものとして用意されたため」(ちなみにMP1は第1世代のマイクロプロセッサの意味がある)とのことで、今後はMPUとして高性能・高機能とコストパフォーマンス・低消費電力の2つの方向性の製品展開を図っていく計画としており、今後の市場ニーズを見極めながら、製品開発を進めていくとしている。
なお、STM32MP1はすでに量産を開始しており、2019年3月以降に入手が可能となる予定のほか、評価ボードや開発キットについても、2019年4月以降、販売代理店経由で入手可能となる予定だという。