μT-Kernelプログラミングコンテスト

μT-Kernalプログラミングコンテスト(出典:TRONフォーラム)
μT-Kernalプログラミングコンテスト(出典:TRONフォーラム)

2023年12月11日から、インフィニティ、STマイクロ、NXP、ルネサス、4社協賛のμT-Kernelプログラミングコンテストが開催されます。

IoT MCU世界標準RTOSのμT-Kernelを用いたアプリ、ミドルウェア、開発環境/ツールの3部門で競い、対象は国内外技術者と学生、賞金総額500万円、1次審査合格者には評価ボードが無償提供されます。

Summary:エントリ:12月11日~2024年2月29日、提出:2024年3月11日~6月30日

コンテスト詳細は、12月7日、東京ミッドタウンホールの2023 TRON Symposiumで発表されます。

賞金総額500万円のコンテスト応募期間は、2023年12月11日から2024年2月29日。1次審査合格者は、内容に応じて評価ボードが無償提供され、応募プログラムの提出期限は、2024年3月11日~6月30日です。

世界標準MCU RTOS:μT-Kernel 3.0

クラウドへ接続するIoT MCUは、RTOSが必須です。FreeRTOSやAzure RTOSが有名です。

μT-KernelもIoT MCU RTOSの1つです。μT-KernelのIEEE標準規格:IEEE2050-2018完全準拠版がμT-Kernel 3.0です。つまり、μT-Kernel 3.0は、世界標準IoT MCU RTOSです。

さらに、μT-Kernel 3.0は、GitHub公開のオープンソースソフトウェアで、協賛MCUベンダ各社のBSP(ボードサポートパッケージ)もあり、RTOS開発が容易になりました。

※評価ボード毎に異なるBSPにより、ユーザ開発アプリのハードウェア依存性を無くすことがBSPの目的。STマイクロ例が下図(説明投稿はコチラ)。

BSPとMCU Firmwareによりハードウェア依存性が無いHAL APIsが提供
BSPとMCU Firmwareによりハードウェア依存性が無いHAL APIsが提供

協賛4社:STマイクロ、NXP、ルネサス、インフィニティ

μT-Kernelプログラミングコンテスト協賛4社の評価ボードは、上記BSPが提供中です。2023 TRON Symposium会場で、各社評価ボードでμT-Kernel 3.0動作のIoT MCU実機デモが開催されるでしょう。

大手MCUベンダ4社のμT-Kernel 3.0への力の入れ方やRTOS開発のし易さが、実際に評価ボードで判ると思います。

μT-Kernel 3.0学習教材

micro:bit は、入力、出力、センサー、無線通信機能が搭載済み学習ボード(出典:micro bitサイト)
micro:bit は、入力、出力、センサー、無線通信機能が搭載済み学習ボード(出典:micro bitサイト)

英BBC開発の教育向けMCU、micro:bit上で動くリアルタイムOSマイクロ学習キットが販売中です。キットと言っても、入力センサ/スイッチ/LED搭載済みのmicro:bitとPCをUSB接続するだけでRTOS動作します。

RTOSにμT-Kernel 3.0を使用し、タスク動作をビジュアル表示できるタスクトレーサやμT-Kernel日本語解説資料付きです。μT-Kernel 3.0のスケジューリングやセマフォが、ご自分のペースで学習できます。

Afterword:今年最後の投稿、次回1月5日予定

寒暖差のせいか、このごろ体調不調です。流行中のインフルエンザかもしれません。かなり早いのですが、本稿を今年最後の投稿にしたいと思います。次回は、2024年1月5日(金)投稿予定です。

今年も本ブログをご覧いただき、ありがとうございました。皆様、よいお年をお迎えください🤞。


IOWN 1.0提供開始

IOWN展開(出展:NTTサイト)
IOWN展開(出展:NTTサイト)

ベストエフォートのインターネットに対し、NTT専用線による品質保証:ギャランティーサービスIOWN(Innovative Optical and Wireless Network:アイオン)1.0が2023年3月16日から開始されました。

個人利用には価格(100Gbps月額料金198万円、初期設備費3万円)が高すぎますが、2030年以降のIOWN4.0では、インターネット並みの料金で利用できるかもしれません。

IOWN対インターネット

インターネットは、多重共用ネットワークです。従って、多重されたトラフィックにより自分のデータ遅延揺らぎは不可避、さらに強固なセキュリティも必須です。

そのセキュリティ対策は、ユーザみずから行う必要があります。対して、専用線は、ネットワーク側が通信品質を保証するなどセキュリティレベルは高く、ユーザのセキュリティ対策は、インターネットに比べると楽になると思います。

問題は、利用価格です。

IOWN専用線では、共用インターネットでは困難な魅力的IOWNサービス(後述)が提供され、かつ、APNと光電融合デバイスにより価格を抑え、かつ、将来の限界を超える特徴、つまり、低遅延、大容量、低消費電力(後述)があります。

ユーザセキュリティ費用、万一のセキュリティリスクも含め、専用線IOWNと共用インターネット、どちらが安全、安心で利用価格が安いのか、費用対効果検討が必要だと思います。

IOWNサービス

IOWNで期待されるサービスの実証記事がコチラです。

ロボットや自動車の遠隔制御、遠隔医療、e-スポーツや遠隔地間を繋ぐ同時演奏会など、大容量で低遅延、揺らぎ無しのIOWNサービスが提供されます。

IOWN特徴=揺らぎ無し低遅延+大容量+低消費電力

NTT技術ジャーナル2023.1によると、IoTによるデータドリブン社会は、膨大なデータ量やデータ処理サーバの膨大な電力消費増大に対して、限界が来るそうです。

この課題にAPN(All Photonic Network)サービスと、光電融合デバイスをボード接続→チップ間→チップ内と融合度を上げ、さらに、このデバイスをサーバへも適用することで、大幅な使用電力削減が可能となります(本稿最初の図参)。

IOWN4.0の目標は、電力効率100倍、伝送容量125倍、エンドエンド遅延1/200です。

IOWN特徴(出展:NTTサイト)
IOWN特徴(出展:NTTサイト)

まとめ

2030年度以降のIOWN4.0とインターネットの利用価格がどの程度になるかは、今のところ不明です。

それでも、IOWN1.0の利用決定会社/組織の記事(2023年3月3日、EE Times)を見ると、既に多くの有力企業が参加しています。

揺らぎ無し低遅延大容量IOWNが、新しいIoTネットワークサービスを生み、メタバースを推進するのは確かだと思います。IoT MCU開発者も注目しておく必要があります。

関連投稿:世界規模の宇宙センシング次世代ネットワークIOWN

Rapidus(ラピダス)

Rapidusロゴ2022年11月11日、経産省キモ入りの日本国内8社(キオクシア、ソニー、ソフトバンク、デンソー、トヨタ自動車、NEC、NTT、三菱UFJ銀行)から成る次世代半導体(Beyond 2nm)製造会社:Rapidus設立(ITmedia)の記事は、世界と国内の半導体製造「10年遅れ、先端ロジック分野後進国」を取り戻すには、「異次元の取組みが必要」と報じています。

RapidusとLSTC体制で2030年までに市場規模100兆円目指す

次世代半導体プロジェクトはRapidusとLSTCの2本立て(出展:経産省サイト)
次世代半導体プロジェクトはRapidusとLSTCの2本立て(出展:経産省サイト)

年内に半導体技術の研究開発拠点:LSTC(Leading-edge Semiconductor Technology Center)も立上げ、研究開発はLSTC、製造はRapidusの2社体制で2030年までに市場規模100兆円を目指すそうです。

過去との差分

Rapidusが過去の半導体ファウンドリー設立と異なる点は、半導体ユーザ企業(ソフトバンク、デンソー、トヨタ自動車、NTT)が各10億円出資して参加している点と、Rapidus経営陣メンバーの本気度が高いことだそうです(2022年11月11日、日経xTECH)。

上記記事は、新会社への期待と不安も示しています。弊社も、RapidusとLSTCに注目していきたいと思います。

周回遅れの日本国内ワクチン産業との類似性

変異型COVID19と対応ワクチン
変異型COVID19と対応ワクチン

世界と国内の「10年遅れ」と類似する事象に、COVID-19国内ワクチン開発が「周回以上の遅れ」と指摘している記事があります。この記事も、対策には「抜本改革が必要」としています。

先端半導体研究開発とCOVID-19国内ワクチン開発、全く別分野ですが、両者の日本状況は良く似ています。

ワクチン不足から類推する先端半導体不足

ワクチン接種は、現在無料です。これは、政府が海外メーカからワクチンを買上げ、無料で国民に接種しているからです。

仮に、変異型ウイルス対応ワクチンが不足し、入手困難ならどうなるでしょう? 旧型ワクチンでは変異型に対して効果が期待できない場合などは、国内パニックになるでしょう。

これと同じことが、先端半導体不足でも生じます。多くの製品や車は、半導体が性能、製品差の決め手です。先端半導体を使えないことは、日本製の新製品や新車の魅力が無いのと同等になるでしょう。

この事態を避けるためRapidusとLSTCの異次元取組みに期待し、日本の10年遅れを挽回してほしいです。

海外最新半導体製造ニュース

  • TSMC米国アリゾナ工場、3nm製造の可能性(2022年11月15日、EE Times)
  • 独)Infineon、アナログ/ミックスドシグナル/パワー半導体を新工場で製造計画(2022年11月15日、EE Times)

海外半導体製造の最新ニュースを2件示します。この分野は、Rapidusの強力ライバルが着実に進出中です。

先端IoT MCUはRTOS開発

IoT MCU開発者スキルの階層構造
IoT MCU開発者スキルの階層構造

個人レベル開発スキルもまた、Rapidusや国内ワクチン産業と同様、異次元の取組みや抜本改革無しの方法では、海外との開発競争にすらなりません。

景気後退が懸念される今、個人の開発スキルを磨き、先端技術人材になりましょう!

IoT MCU分野では、RTOS開発が先端技術だと筆者は思います。JACOB’S BLOGの5 RTOS Design Best Practicesが、とても参考になります。

関連投稿:RTOSテンプレート骨格クリエイタ的エンジニア

本稿主旨は、「危機感は大切だが、あせりは禁物。お互い切磋琢磨しましょう」です。



日本とアイルランドのIoT

北海道とアイルランド比較(出展:たび日和、アイルランドの面積ってどのぐらい?)
北海道とアイルランド比較(出展:たび日和、アイルランドの面積ってどのぐらい?)

2022年7月29日ZDNet Japan掲載、アイルランドIoT事情についての記事(前編後編)と、2022年8月1日MONOist掲載、調査結果からみる日本製造業将来と期待の記事を紹介、両国のIoT開発現状を比較します。

アイルランド

北海道 アイルランド共和国
面積 8万3,400㎡km 7万300㎡km
人口 530万人 492万人

日本と同じ島国で、面積、人口が北海道より少し小さいアイルランド共和国は、記事によると世界最大の情報通信技術(ICT)サービス輸出国です。

アイルランド国内総生産(GDP)は、世界トップ10にランク(Wikipedia)されます。

アイルランドIoT事情

ごく簡単に記事要旨をまとめます。

アイルランドは、IoTを「データ収集(Collect)」「接続(Connect)」「変換(Transform)」の3カテゴリに分類、さらに3カテゴリをまたぐ形で事業展開する企業をサポート、IoTサービス進化を現実化する研究施設もある。

「IoTビジネスに最適な国」を目指し、行政や大学などの研究機関を整備、世界各国から有力企業とノウハウを集積した結果、2022年経済成長率5.4%、2023年4.4%と予測される高い経済成長に繋がっている。

日本製造業の将来と期待

MONOist日本読者による製造業の将来と期待についてのアンケート結果が、3枚の図にまとめられています。

要旨を簡単にまとめます。

・先が読めないので予想し準備することは不可能。だから、変化に合わせた柔軟性が重要。
・リアル活動制限のコロナ禍、デジタル環境で様々な業務ができることが判明。
・日本製造業将来が明るい/暗い回答はほぼ同数で25%、残り50%はどちらとも言えない。
・AIやロボット、自動運転などの自動車分野、メタバース/ローコード技術に期待。
・日本モノづくりは、世界的に見ると特殊な立ち位置。

最後を除いては、日本に限らずどの国の企業、技術者でもさほど違わないと思います。違いは、日本の国家指針の無さ・見えなさ、変化に対するスピードの遅さだと思います。

海外比遅れる理由(出展:MONOist 15周年記念アンケートP7)
海外比遅れる理由(出展:MONOist 15周年記念アンケートP7)

まとめ:個人レベルは選択と集中

日本とアイルランドのIoT開発現状を比較しました。

関連分野が広く、しかも、各分野の奥行も深いIoTです。日本の開発者個人にとっては、アイルランドのIoT 3カテゴリ分類は、1つの「指針」になると思います。

例えば、IoTエッジMCU開発者ならば、先ずはデータ収集、次に無線/有線の接続、最後にAI向けのエッジデータ変換というように、アイルランドガテゴリに沿った技術区分と優先順位を付けることができます。

漠然とIoTを捉えるより区分と優先順位があれば、より集中、選択してIoT技術を習得できます。しかも、そのカテゴリ分けは、世界最大のIoTサービス提供実績があるアイルランドカテゴリに基づいているので、「世界的モノづくりへ通用」する可能性も高いです。

ガラバゴス技術の多い日本にいると、自身の技術がはたして世界で通用するかの不安は付きものです。

不安払拭のため、時には開発者個々人が、世界(今回はアイルランド)へと視野を広げ、自身の開発領域へフィードバックをかけ、「選択、集中した技術習得」が効果的なIoTだと思います。

多様化MCU RTOS対策

IoT MCUクラウド市場は、AWSとMicrosoft Azureがリードしており世界収益の半分以上を占めるという記事に掲載されたのが下図です(EE Times 2021年6月7日、横軸:市場シェア、縦軸:年平均成長率)。Microsoftは徐々にAmazonに迫っており、市場シェア差は、過去1年で2ポイント縮まったそうです。

クラウトプロバイダの市場シェア(出典:記事)
クラウトプロバイダの市場シェア(出典:記事)

多様化MCU RTOS

AWSへの接続にはAmazon FreeRTOS、Microsoft AzureにはAzure RTOSを用います。IoTクラウド接続ウェビナーでは、どのMCUベンダでも先行しているAmazon FreeRTOSを使った接続例が主流です。しかし、最近は、Azure RTOS利用の接続資料やウェビナーも見られます。AWSとMicrosoft Azureの差が縮まりつつある証左でしょう。

また、第3勢力として急成長中のGoogleクラウド接続にはARM mbed OSが使われます。IoT MCUに実装するRTOSは多様化してきました。

IoT MCU RTOSとPCブラウザ

IoT MCU RTOSとPCブラウザ比較
IoT MCU RTOSとPCブラウザ比較

この状況は、PCブラウザが現状、複数共存しているのに似ています。

機能的には同じブラウザですが、表示/印刷/広告などの使い勝手が少しずつ異なるため、必要に応じて複数ブラウザを使い分ける方も多いでしょう。記憶容量の大きいPCでは、ブラウザ併用・共存も簡単です。

しかし、限られた容量しか持たないMCUの場合は、複数RTOSの中からMCU搭載RTOSは1つに絞られると思います。

例えば、AmazonやMicrosoft、Google各社の強み(販売/文書/広告)や特徴を活かし、IoT機器制御サービスやAI活用サービスなど魅力的クラウドサービスを各社各様で提供し、その価格、顧客との結びつきの強さなどがサービス選択の決め手となるでしょう。

いずれにせよ顧客が、利用するクラウドサービスを決め、その接続手段として各社RTOS接続ライブラリの使用、加えてRTOS環境での上層MCUソフトウェア開発を行うことになります。

問題は、RTOS環境のMCUソフトウェア開発手法がベアメタルと異なること、各社RTOS仕様が少しずつ異なることです。

多様化RTOS対策

仮に、Cortex-M4/M0+ディアルコアMCUで、クラウド通信処理全てを、Cortex-M0+コア側のRTOSライブラリで行い、通信とアプリケーションが完全分離された構成であれば、問題は解決します。接続サービス毎にRTOS通信ライブラリを変えさえすれば、対応できるからです。

BluetoothやThreadなど複数無線通信規格から1つを選んで処理するなど、この構成に近いベアメタルソフトウェア対応のMCUが既にあります。

しかし、主流ウェビナーで用いられる高性能Cortex-M4シングルコアを使って、クラウド通信とアプリケーションの両方を処理する場合には、接続先のクラウドに応じて「FreeRTOS/Azure RTOS/Mbed OSなど様々なRTOS環境の上層アプリケーション開発」になります。

RTOSの目的は、MCUハードウェア隠蔽と開発ソフトウェア流用性向上なのに、複数RTOS存在で開発アプリケーションが異なるとは、皮肉な結果です。

最初の図は、IoT MCU開発者が、今後急増するクラウド接続IoT MCU開発に、これら複数RTOSを効率的に習得し、かつ、顧客が選ぶ1個のRTOSアプリケーションを早期に開発できるスキルを獲得しなければならない現状や将来を示しているとも言えます。

こういう状況での常套手段は、共通部分と個別部分の分離、共通部分からの段階的習得です。

どのRTOSでもSemaphoreやQueueは、ほぼ共通の基本機能です。先ずは、この2機能をしっかり把握し、より高度なミューテックスやイベントグループなどRTOS毎に特徴があり機能も異なる対象へ発展するのが効率的でしょう。

※RTOSは、複数タスク(AzureはThread)を、優先順位に応じてリアルタイムに実行/待機/状態保存復帰の切替えを行います。タスク間同期手段がSemaphore、データ送受手段がQueueで、この2つはどのRTOSでも共通の基本機能です。

まとめ

IoT MCUクラウド市場シェアから、クラウド接続IoT MCU RTOSもPCブラウザ同様、様々な仕様併存の可能性があります。

顧客が選ぶRTOSに柔軟対応し、そのRTOS上層の様々なRTOSアプリケーションを早期開発するには、先ず、各RTOS共通機能のSemaphoreとQueueを把握し、より高度でRTOS毎に異なる個別機能へ発展する習得アプローチが効率的です。

6Eリリース予定の弊社FreeRTOSアプリケーションテンプレート(税込2000円)は、主流のAmazon FreeRTOSを用い、NXP)LPCXpresso54114(Cortex-M4/150MHz、Flash/256KB、RAM/192KB)にて動作確認済みです。

添付するRTOSプロジェクトは、各RTOS共通機能SemaphoreとQueueを利用しており、上記習得アプローチを満たすツールとして、また、全ての物をつなげる主役IoT MCU RTOS基礎固めに最適です。

Cortex-M33とCortex-M0+/M4の差分

STマイクロエレクトロニクスが、STM32マイコン体験実習(セキュリティ編①~⑤)という動画でCortex-M33 TrustZone解説とSTM32L5(Cortex-M33/110MHz、Flash/256/512KB、RAM/256KB)のセキュリティ実習を行っています。

このセキュリティ編①:31min17secから、IoT MCU向けセキュリティ強化Cortex-M33コアのARM TrustZoneマイコンと、通常Cortex-M0+/M4コアマイコンとの差分を抽出しました。TrustZoneマイコン基礎知識の習得が目的です。

Cortex-M33とCortex-M0+/M4差分

セキュリティ編動画①~⑤概要

①P3(動画①、スライドP3を示します)に、動画①~⑤の概要が示されています。動画①でCortex-M33コアの解説、②でSTM32L5開発環境の準備、後半③~⑤でSTM32L5評価ボード:NUCLEO-L552ZE-Q(¥2,303 Mouser)を使ったセキュリティ演習という構成です。

本稿は、動画①から、ARM TrustZone Cortex-M33コアと通常Cortex-M0+/M4コアとの差分を一覧表にしました。

※ARM公式差分情報を知りたい方は、①P48の参考文献が参考になります。

Cortex-M33とCortex-M0+/M4の差分

オンデマンド動画ですので、好きな個所で止める、再生読度を変えるなどが可能です。動画①は、筆者が経験したTrustZone解説の中で最も分かり易い動画です。

特にP36/P37/P39は、4段階に増えたステート処理内容が具体的に判りTrustZoneマイコン特徴理解に役立ちます。
また、P19は、様々なセキュリティレベルと対応STM32MCUのセキュリティ機能差が一目で判る重要な資料です。

要旨(ARM TrustZone Cortex-M33と通常Cortex-M0+/M4差分)
7 ソフトウェア攻撃防御策がTrustZone。物理攻撃対策はセキュアマイコン(≠汎用MCU)が有効。
12 Secure呼出し=予め決めた手順で内蔵周辺回路(I2C/SPI/RAMなど)へアクセスする技術
Security Isolation=Secure呼出しを使い通常アクセスと隔離・分離する技術
ARM TrustZone=Security Isolationを対象MCUで柔軟に構成する技術
16 タンパ=物理攻撃を検出→検出後バックアップレジスタやSRAM自動消去
JTAGピン無効化→設定後はGPIOなどで運用
WRP(WRite Protection):数KB単位設定可能
RDP(ReaD Protection):JTAG読出し禁止→読出検出でプログラム実行停止→PORで解除
Secure Memory=起動時のみ読出し可能な領域
17 MPU(Memory Protection Unit):最大16個メモリ領域の読書き、命令実行許可/禁止設定
18 セキュリティは単独では効果が薄く、複数重ね攻撃への敷居を上げ強化(暗号鍵保存例掲載)
19 STM32マイコン内蔵セキュリティ機能差一覧。TrustZone対応はSTM32L5のみ(2020/12時点)
STM32G0/G4(Cortex-M0+/M4)でもSRAM RDP機能などあり
22 TrustZoneは、アドレス空間とバス通信の両方をハードウェア監視しアクセス制御
23 アドレス空間監視=コア内蔵SAU IDAU、バス通信監視=TZ(TrustZone) ControllerとAHBバス
24 STM32L5は、内部FlashアクセスにST独自Flashレジスタとオプションバイトで保護
26 TrustZone-aware周辺回路=DMA1&2/GPIO…などAHB接続回路は個別セキュリティ設定要
上記以外がSecurable周辺回路=UART/SPI…などでAHB/APBブリッジがアクセス監視
29 従来MCUベアメタル開発は、mainループも割込みハンドラも常に特権モード動作の1段階
30 従来MCUのRTOS開発は、割込みハンドラ/RTOSが特権モード、ユーザタスクは非特権の2段階
32 Secureステート追加TrustZoneは、4段階化→各層の処理配置がTrustZoneソフト設計第一歩
35 Secureソフトと従来ソフトのプロジェクト差一覧
(セキュリティ関連設定はSecureソフトのみ可能でmain関数はあるがmainループなしなど)
36 TrustZoneマイコンベアメタル開発の4段階ステート処理配置例(TrustZoneソフト設計例1)
37 TrustZoneマイコンRTOS開発の4段階ステート処理配置例(TrustZoneソフト設計例2)
38 TrustZoneソフト開発時、Secureソフトと通常ソフトの2プロジェクト作成必要
39 TrustZoneソフトの基本実行フロー(Secureソフトから通常ソフトへの処理内容一覧)
40
41
42
Secureステートと通常ステートのアドレス空間の見え方差まとめ
44 動画①全体まとめ
45 STM32L5開発時のキーポイント一覧(全18項目)
46 STM32L5開発時のキーポイント演習項目一覧(18項目中9項目を動画③~⑤で演習)
48 おすすめARMv8-M(Cortex-M33コア)TrustZone参考文献一覧

TrustZoneマイコン開発は工数2倍、スキルも必要

動画①は、他ベンダのARM Cortex-M33 TrustZoneマイコン開発でも基礎知識が得られます(※P24のST独自Flashレジスタとオプションバイト保護は除く)。IoT MCU向けセキュリティ強化Cortex-M33コアで導入されたTrustZoneを活用するには、①の理解は最低限必要です。

従来Cortex-M0+/M4に比べ、Cortex-M33シングルコア開発でもSecureと通常(Normal)ソフトウェアの2プロジェクト必要、メモリ空間と周辺回路のセキュリティ設定必要(メモリ分割損も生じると予想)、JTAGピン無効化など、従来のアプリケーション開発とそのデバッグに加え、ソフトウェア攻撃対策TrustZone導入による工数やその動作確認/解除などの手間が余分に必要になります。

このTrustZone導入オーバーヘッドは、少なくないです(セキュリティ編②~⑤でオーバーヘッド工数が判ります。補足章に動画②~⑤リンク添付)。Cortex-M33コア最高速度が110MHzと他コア比高速で、Flash/RAMも大容量なのは、このオーバーヘッドのハードウェア対策だと思います。

TrustZoneマイコンのソフトウェア開発工数は、同じアプリケーションの通常マイコン開発の2倍程度は必要になると思います。また、TrustZone起因のトラブルに対する分析スキルも必須です。

ソフトウェア攻撃に対する防御壁の高さは、言い換えると、ソフトウェア開発のし難さと等価です。セキュリティレベルが上がるにつれ、開発コストも上がります。

全てのIoT MCUがTrustZone対応MCUである必要は無いと思います。コスト重視の場合は、従来Cortex-M0+/M4コアでセキュリティ強化対応(例えば、関連投稿:STM32G0/G4のRoot of Trust(1)~(3)など)でも使える可能性があります(関連投稿:IoT MCUコア次世代像のIoT MCUコアの3層構造最下層のFront End IoT MCUに相当)。

セキュリティは、強固な方が良いのは当然ですが、それ相応の追加コストも生じます。セキュリティ対コストの観点からIoT MCUの選択が必要となるでしょう。

* * *

セキュリティ対策は、いわば自動車保険のようなものです。保険代金の負担は、開発者かエンドユーザか、エンドユーザがTrustZone導入オーバーヘッドを理解することは難しいと思いますので悩ましい問題です😅。

Cortex-M33 TrustZoneマイコンは、ソフトウェア開発者が記述した処理を攻撃とマイコンが誤認識(正常認識)した場合は、無視、あるいは最悪、マイコンを使用不能にします。見つけにくい無視された処理が、開発者起因か、あるいはTrustZone起因かを分析できるスキル、これが、通常マイコン開発との最大の差分です。

STM32マイコン体験実習は、TrustZone起因スキルを習得できるよく考えられた教材です。

補足

STM32マイコン体験実習(セキュリティ編②
STM32マイコン体験実習(セキュリティ編③
STM32マイコン体験実習(セキュリティ編④
STM32マイコン体験実習(セキュリティ編⑤

関連投稿:STM HTML版マンスリー・アップデートの見かた4章の全体像リンク集なども役立ちます。

Cortex-M33コア以外でTrustZone技術を用いたマイコンは、Cortex-M35P、Cortex-M23があります。

IoT MCUの無線LAN

IoTに適した無線LANの条件とは?(TechTarget、2020年11月27日)記事を紹介し、IoT MCU関連のプライベート網無線LAN規格を説明します。

IoT向き無線LAN条件と規格

纏まった良い記事なので、一読をお勧めします。

記事を要約すると、IoT向きの無線LANの選定には、3つの検討ポイントがあります。

  1. 省電力性:バッテリーだけで長時間無線LAN通信ができる
  2. 長距離伝送性:アクセスポイント(AP)から1km以上離れる場合がある
  3. 国より異なる利用周波数の空き状態確認

各ポイントを満たす無線LAN規格として下記3つを挙げ特徴を説明しています。

  • IEEE 802.11ah(別名Wi-Fi HaLow):Target Wake Time(TWT)により通信タイミングを調整しAP通信競合を防ぐと同時にスケジュールタイムまでスリープし電力消費を抑える
  • IEEE 802.11ba:TWTに加えWake-Up Radio省電力機能を利用しAPからの通信要求に対応
  • IEEE 802.11af: 54MHz~698MHz利用で900MHz~1GHzの802.11ah/802.11baより長距離伝送可能
    ※11afは、テレビ用ホワイトスペースのVHF/UHFバンド(54 MHz~790 MHz)利用なので空き状態により耐ノイズ注意

IoT向き無線LANとBluetooth

無線LANには、2.4GHz利用、数m~10m程度の「近距離無線通信規格」:IEEE 802.15.1(別名Bluetooth)もあります。コイン電池で1年以上動作できるなど超省電力動作ですが、低速です。PCやスマートフォンでは、マウス/キーボード/ヘッドホンなどの周辺機器との接続に使われます。

より高速、より長距離(400m程度)、より高スループットを目指し、Bluetooth v4.2、Bluetooth 5などと規格が変化しています。

IoT MCUへの実装は、Bluetooth 5内蔵MCUBluetooth 5モジュールとMCUを接続する方法があります。

IoT 向き無線LANとPC/スマホ向き無線LAN

2020年12月時点のPC/スマートフォン無線LAN規格が下表です(出展:NTT西日本公式ホームページ)。

規格 周波数帯 最大通信速度
IEEE 802.11b 2.4GHz 11Mbps
IEEE 802.11g 2.4GHz 54Mbps
­­­­IEEE 802.11a 5GHz 54Mbps
IEEE 802.11n 2.4GHz 600Mbps
5GHz
IEEE 802.11ac 5GHz 6.9Gbps
IEEE 802.11ad(WiGig) 60GHz 6.8Gbps
IEEE 802.11ax 2.4GHz 9.6Gbps
5GHz

IoT向き無線LANと異なるのは、周波数帯がより高周波の2.4GHz/5GHzを利用する点と、新規格11ac/11ad/11ax、従来規格11b/11g/11a/11n、ともにデータ伝送速度が速い点です。スマホのAPは、家庭や店舗に設置された無線LANルータで、高周波利用のため伝送距離は精々100m程度、60GHzの11adでは10m程度です。公衆網5G高速化に伴い新無線LAN規格:11ac/11ad/11axが普及しつつあります。

動画再生などの利用形態も多いPC/スマホ向き無線LANは、「高速大容量化」が求められます。IoTの「長距離省電力」要求とは、異なる無線LAN規格となっています。

まとめ:IoT MCUプライベート網の無線LAN規格

無線LANアクセスポイントからの伝送距離変化
無線LANアクセスポイントからの伝送距離変化

プライベート網無線LAN規格は、APからの伝送距離により、

  1. 「近距離(10m以下)超省電力」規格(周辺機器向き):Bluetooth(IEEE 802.15.1)
  2. 「短距離(100m程度)高速大容量」規格(PC/スマホ向き):IEEE 802.11a/11b/11g/11n/11ac/WiGig(11ad)/11ax
  3. 「長距離(1km以上)省電力」規格(IoT向き):Wi-Fi HaLow (IEEE 802.11ah)/11.af/11.ba

の3種類があります。

IoT MCUには、最新のBluetooth 5や屋外や1km半径の広い敷地内でも使える長距離省電力規格のWi-Fi HaLowが望まれるようです。

但し、普及済みのPC/スマホ向き無線LAN規格が使えると、屋内の既存PC/スマホ無線LANルータをインターネット空間へのAPに利用でき、常時電力供給も可能なため、低コストIoT MCUを実現する方法になりうると思います。


MCUセキュリティ話題

MCU開発中、進捗が詰まることはだれでもあります。そんな時にスタックした気分を変えるMCUセキュリティ関連話題を投稿します。

MCU開発には集中力が必要ですが、その持続は、精々数時間です。人のスタック深さは有限ですので、開発を経過時間で区切るのが1つ、別方法として集中気分を切替て開発詰まりを乗切る時の話題を示します。

気分転換が目的ですので、硬い話ではありません😁。

セキュリティ更新終了

Microsoftが、Office 2010は今年2020年10月13日、Windows 10バージョン1903は2020年12月8日にサポートを終了します。これらソフトウェアご利用中の方は、新ソフトウェアへの入替が必要です。

サポート終了とは、「セキュリティ更新プログラム配布終了」のことです。ソフトウェア自体がPCで使えなくなる訳ではありません。しかし、ハッカーなどによる新たなサイバー攻撃を防ぐ手段が無くなりますので、安全・安心な利用ができなくなります。

ところで、安全・安心の根拠、セキュリティ、セーフティ、セキュア…などの日本語は、あいまいに使われます。しかし、英語の「SecurityとSafetyは別物」です。

オンラインセミナー:STマイクロエレクトロニクスのTrustZone対応マイコンによるIoTセキュリティによると、

  • Security:外部からの危害(攻撃や改竄)から、MCU内部が保護されている状態
  • Safety:MCU誤動作や故障などが原因で、MCU外部へ衝突や爆発などの危害を与えない状態

英語でのSecurityとSafetyの使い分けは、対象がMCU内部ならSecurity、MCU外部ならSafetyと、明確な区別があります。

MCUセキュリティ関連資料を英語で読むときは、対象は単語で解ります。日本語訳資料を読むときは、対象がMCU内部か外部かを区別して理解する必要があります。

IoT機器侵入調査

総務省、IoT機器に侵入を試みる際のIDとパスワードの組み合わせを、従来の100通りから600通りに増やし、侵入できたIoT機器所有ユーザへ対策を呼び掛けた。2020年9月11日、ITmedia。

つまり、ハッカーの代わりに総務省)国立研究開発法人情報通信研究機構(NICT)が、NOTICE:National Operation Towards IoT Clean Environmentに参加しているISP 62社のIPアドレスに対して、疑似攻撃をしかけ、問題があったIPアドレスユーザへ注意を促した、ということです。

過去のサイバー攻撃にあったIDとパスワードにたまたまなっていた場合、たとえ厳重な管理であっても安全でない(!Security)訳です。IoT機器のアクセス方式、「IDとパスワード」には、限界があるかもしれません。

多要素承認

金融庁、銀行・決済各社に本人確認の徹底を要請。2020年9月16日、ITmedia。

ハッカーによるドコモ口座の不正利用が、多要素認証で防げるのかについてのセキュリティ専門家解説は、筆者には正直言って判りません。

多要素認証とは、セキュリティ情報アクセス時、スマホなどの本人しか持たないモバイルデバイスへ送った認証コードなどを使ってログインする仕組みです。「パスワードレスログイン」とも言われます。

海外ドラマでは、スマホの乗っ取りも簡単です。モバイルデバイスの2要素認証コード入力で十分なのでしょうか? スマホを持たない人は、決済サービスを利用できない、またはさらに生体認証が必要なのでしょうか?

この多要素認証をMCUへ実装する場合、どうすれば良いのでしょうか?

暗号化脆弱性

TLS 1.2とそれ以前に脆弱性、2020年9月16日、マイナビニュース。

ブラウザ経由でクレジットカード番号を送る時、通信データを暗号化し盗聴を防ぐしくみが、TLS:Transport Layer Securityです。このTLS 1.2に脆弱性が見つかり、TLS 1.3を使うなどの対策が示されています。

MCUで以前は問題無かった暗号化技術にこのような対策を実施するには、組込み済みソフトウェア、またはハードウェアの一部更新が必要です。

暗号化部品が壊れた、または脆弱性発見時、対象部品のみ交換できるMCU機器があれば良いのですが…。

デジタル後進国

“デジタル後進国”で検索すると、「日本はデジタル、IT後進国」だという記事概要が多く見つかります。

セキュリティ用語の区別もあいまいなままの日本です。先進国開発済みのMCUセキュリティ技術を、理解不足のまま流用しても当面は良いのでしょうが…、セキュリティとあいまい性、本質的に相反する気がします。
ハッカーの攻撃は、あいまい性で生じるMCUセキュリティのすきまを狙うのですから。

MCUセキュリティに関しては、何事にもあいまい性が好まれ日本不得意な「明確さ」、これが必須だと思います。

*  *  *

MCU開発時、スタック気分を変える時に役立つMCUセキュリティ関連話題を5つ投稿しました。

IDとパスワードで保護するMCUセキュリティ
IDとパスワードで保護するMCUセキュリティ

NXPの日本市場位置づけと事業戦略

6月5日投稿NXPのFreeMASTERの最後の章で紹介したNXP新CEO)カート・シーヴァーズ(Kurt Sievers)氏へのEE Times Japanインタビュー記事が16日掲載され、NXPの日本市場位置づけと事業戦略が語られました。

  • 日本の自動車関連企業との強固な関係は、一層強める
  • 日本の産業・IoT関連企業との関係は、自動車関連企業と同様、強い関係を構築していく
  • 日本のロボティクス企業とNXPのエッジコンピューティング技術の親和性は良く、ともに成長できる

本ブログの投稿は、MCUソフトウェア開発者向けが多いです。が、今回はNXPビジネスをピックアップします。というのは、多くの開発者が使っているWindows 10の今後を考えるには、Microsoftビジネスを知る必要があるのと同じ理由です。NXPビジネスを知って、MCUの将来を考えます。

以下、2020年5月のNXP semiconductors corporate overview抄訳バージョンを使います。※EE Japan記事もこのNXP資料を使っています。

NXPターゲット4市場

NXPのターゲットは、P8記載のオートモーティブ、インダストリアル&IoT、モバイル、通信インフラストラクチャの4市場です。そして、これらを包括的にサポートする半導体デジタル/アナログ技術である、Sense、Think、Connect、Act全てをNXPは提供中です。

NXPのターゲット4市場(出典:NXP semiconductors corporate overview)
NXPのターゲット4市場(出典:NXP semiconductors corporate overview)
NXPの提供する半導体デジタル/アナログ技術(出典:NXP semiconductors corporate overview)
NXPの提供する半導体デジタル/アナログ技術(出典:NXP semiconductors corporate overview)
NXPの提供するフルシステムソリューション(出典:NXP semiconductors corporate overview)
NXPの提供するフルシステムソリューション(出典:NXP semiconductors corporate overview)

NXPの強み

NXPの強みは、ユーザである我々開発者へ、半導体技術をもれなく提供できることだと筆者は思います。この分野は近い将来、セキュア/セキュリティ無しでは存在しえません。ネットワークで繋がり、セキュリティが弱い箇所が一か所でもあれば、全てが使えなくなる危険性があるからです。

例えインタフェースが確立されていても、技術同士を接続すると、上手く動作しないことはよくあります。※俗に相性問題などとWindowsでは言われます。

全技術を他社より先に提供するNXP同志の技術接続は、競合他社間の技術接続より容易、低リスクであることは明らかです。後追いの競合他社は、差別化の特徴を持たないと生き残れず、この特徴が逆に他社との接続障害になることもあります。

P12に記載されたように技術単独では存在意味が弱く、各技術がセキュアに繋がって初めてソリューションとしての市場価値が生まれます。

EE Japan Times記事によると、AI関連技術は、NXPで独自開発を行うとともにM&Aも検討中のようです。このように、選択と集中、差別化戦略ではなく全ての半導体技術を開発し、ユーザである開発者へ提供できることがNXPの強みだと思います。

エッジコンピューティングMCUの将来

PC → スマホ → MCUへとセキュリティや半導体技術をけん引してきたデバイスは変わりつつあります。

COVID-19パンデミックで経済活動が停止したのは、コロナワクチンが無いからです。半導体製品にサイバー攻撃があった時、対応ワクチンや追加のセキュリティがThink主役のMCUへ必要となります。

これらからMCUは、今後さらなるセキュリティ実装やWiFi-6などの新しい無線LAN規格への対応など、より高性能化、低消費電力化へ進むと思います。NXPは台湾TSMCの5nm製造プロセスを次世代自動車用MCUに使う(2020/6/12)ことを明らかにし、実現へ向けてスタートしています。

NXP日本市場位置づけ、事業戦略、開発者の対策

以上のNXP概要を見たうえで、最初に示した日本市場位置づけ、事業戦略を振り返ると、NXPの提供する広範囲な半導体技術を自動車、産業機器、ロボティクスへ適用していくことがより解ると思います。

我々開発者は、NXP製品の第1次利用者です。MCU開発者は、次々に導入される新しい技術を焦ることなく効率的に習得・活用し、開発製品へ応用しましょう。そして、我々の製品利用者(NXP製品の第2次利用者)へ新しい価値を提供できるよう努めましょう。

EE Japan Times記事に記載はありませんが、残念ながら日本市場の相対的地位は、低下しつつあります。また、パンデミック再来に備え、開発者個人のスキルアップや自己トレーニング重要性も再認識されたと思います。より広く・早い開発技術の習得が、MCU開発者には必要となるでしょう。

Windows 10の将来

市場に溢れるWindows 10情報は、トラブル対策のものが殆どで、MicrosoftのOSビジネス情報は見当たりません。ただ、ここ数年のWindows 10状況は、最終PC利用者の価値を高めるというよりも、Windowsブロガへの記事ネタを増やすことに役立っています。

このWindows現状を、Microsoftがどのように回復するのか知りたいです。ビジネスなので、利益なしの解はありません。しかし、安心してWindows 10が使えないなら、PCのOSは、安定感のあるiOSやLinuxへ変わるかもしれません。

アプリケーションのマルチプラットフォーム化や、WindowsアプリケーションでもiOSやLinux上でそのまま動作する環境も整いつつあります。折しも、32ビットPC OSは、2020年で終焉を迎えようとしています。ハードウェア起因ならまだしも、ソフトウェア、特にOS起因の生産性低下は、許されないと思います。

STM32G0x専用テンプレート開発全体像俯瞰

STM32G0x専用テンプレートの開発着手にあたり、汎用STM32Fxテンプレート開発から2017年9月のテンプレート発売までをざっと振り返り、今回の専用開発との差分になりそうな箇所を示しSTM32G0x専用テンプレート開発全体像を俯瞰、力を入れる投稿予定を示します。

汎用STM32Fxテンプレート開発History

汎用STM32Fxテンプレート開発時の主な投稿と内容
年月日 投稿タイトル 主な内容
2017年5 STM32マイコンIDE構築 SW4STM32の構築
2017年6 STM32CubeMXの使い方 HAL APIの選定理由と利用法
STM32CubeMX生成ファイルのユーザ追記箇所 HAL利用時のユーザ追記箇所
2017年8 評価ボードの利用ピン指針 Baseboardとの接続指針
2017年9 STM32Fxテンプレート発売 汎用STM32Fxテンプレート発売

2017年5月当時は、4種ある無償IDEの中からマルチOS(Windows/MacOS/Linux)対応、仏/AC6社のSW4STM32を使いました。2017年末、無償IDE TrueSTUDIO提供のスウェーデン/Atollic社がSTマイクロエレクトロニクス(以下STM)に買収され、公式にはTrueSTUDIOがSTM32マイコンの純正無償IDEに昇格(!?)したようです😅。

関連投稿:STM32のStep-by-Step Guideの、気になる点1:TrueSTUDIO参照

STM32G0x専用テンプレート開発IDE:TrueSTUDIO

そこで、STM32G0x専用テンプレート開発には、TrueSTUDIO無償版(Windows/Linux対応、MacOSなし)を使います。現在SW4STM32を使っている方にも判り易いようにTrueSTUDIOとの差分を説明する予定です。

但し、筆者はSW4STM32利用中の開発者が、あえてTrueSTUDIOに変更する必要は、今のところ少ないと考えています。ソフトウェア開発の主役は、STM純正コード生成ツールSTM32CubeMXだからです。最新STM32CubeMXを使えば、IDE差は少ないと今は思っています。

勿論、TrueSTUDIOの買収昇格時点でBetterなのは当然だと思います。専用テンプレート開発を通じBetterよりもSW4STM32からTrueSTUDIOへ変更するMust条件が判れば、本ブログでお知らせします。

Tips:STMの日本語資料強化の一環なのか、TrueSTUDIOはEclipseベースIDEなのにインストーラは日本語対応、メニューも日本語になっています(下図参照)。但し、C\ユーザ名\Atollic\TrueSTUDIO for STM32 9.3.0\Manuals\Generalにある重要マニュアル5種は全て英文です。例えば、SW4STM32プロジェクトのTrueSTUDIOインポート方法や注意点は、User GuideのP75~に英文で詳しく説明されています。

日本語対応のTrueSTUDIOメニュー
日本語対応のTrueSTUDIOメニュー

STM32CubeMX:LL API(Application Programing Interface)利用

STM32G0x専用テンプレートは、汎用STM32Fxテンプレート開発で使ったHAL(Hardware Abstraction Layer)APIに変わりLL(Low Layer)APIを使います。LL利用により、STM32CubeMX生成ファイルの初期化コードやユーザ追記箇所がHALとは異なります。LL APIの利用は、専用テンプレートの肝ですので、ブログで詳しく説明します。

IoTサービス例:2.5Msps12ビットADC必須+α

汎用STM32Fxテンプレートは、Baseboardと評価ボードを接続し、基本動作完成形のBaseboardテンプレートを開発しました。STM32G0x専用テンプレートは、Arduinoコネクタに何らかのIoTサービスを示すシールドを接続する予定です。しかし、最悪の場合、汎用と同じBaseboard接続にする可能性もあります。

ただし、特に2.5Mspsの12ビットADCは、3タイプある全STM32G0xデバイスに実装済みで、IoTサービス必須機能ですので、このADCを活かしたIoTサービスは実装必須にします。その他のIoTサービスに関しては、今後決めます。

2.5Msps12ビットADC (RM0444より)
2.5Msps12ビットADC (出典:RM0444)

STM32G0x専用テンプレート発売:2019/3Q~

汎用STM32Fxテンプレートは、5か月の期間で開発しました。STM32G0x専用テンプレートは、HALよりもLL API利用難易度が高いことを考慮すると、最低でも同じ開発期間が必要だと思います。

STM32G0x専用テンプレート開発全体像俯瞰の結果

以上、STM32G0x専用テンプレート開発の全体像を俯瞰しました。
SW4STM32からTrueSTUDIO IDEへの変更必要性、STM32CubeMX のLL API利用法、全STM32G0xデバイス実装済みでIoTサービス必須機能2.5Msps12ビットADC使用法、これらを読者の方々が理解できよう力を入れて投稿記事を作成します。