MCUとMPU二刀流開発#1

Rapsberry Pi Pico2開発環境
Rapsberry Pi Pico2開発環境

今年8月9日、英国ラズパイ財団が新しいRaspberry Pi Pico 2(以下Pico 2)を発表しました。Pico 2は、MCU開発者向けMPUです。従来MPU/SBCが採用していたCortex-Aなどの定番MPUコアから、セキュリティTrustZone対応Cortex-M33コアに変わったからです。そこで、MCU開発者向けPico 2開発の連載を始めます。

この連載で筆者を含めたMCU開発者は、最新MPU(Pico 2)のMCU的開発とVisual Studio Code(VSC)習得ができます。狙いは、開発の幅をMCUからMPUへも広げること、Eclipse IDE代替可能性もあるVSC習得の2つです。

※MCU的開発とは、例えばPico 2(RP2350、Cortex-M33 or RISC-V/150MHz、Flash/4MB、RAM/520KB)とMCUでお馴染みの表記をするなど「MCU開発者の視点でMPUを開発」ということです。

Summary:MCU開発者のPico 2開発#1

最新MPU Cortex-M33コアRaspberry Pi Pico 2を使い、MCU開発者案件のMPUへの拡幅、Eclipse IDE代替VSC習得を狙った投稿の1回目を示しました。

投稿#1内容が以下で、投稿背景とPico 2開発ハードウェアを示しています。

・MCU側からみたMPU開発の差
・MCU開発者が最新Raspberry Pi Pico 2 MPUを使うメリット
・Pico 2 MPU開発ハードウェア入手先情報
・TrustZone Cortex-M33 MCU/MPU二刀流開発の勧め

次回は、Pico 2開発ソフトウェアのVSC構築を投稿予定です。本投稿は、今後不定期に続けます。

※MCU(Micro Controller Unit)とMPU/SBC(Micro Processor Unit/Single Board Computer)の差を極簡単に言うと、MCUは価格追及型、一方、MPU/SBCは機能拡張型です(詳細は関連投稿参照)。

MPUとMCU開発差

同じCortex-M33コアでもMCU開発者とMPU開発者は異なるアプローチ
同じCortex-M33コアでもMCU開発者とMPU開発者は異なるアプローチ

MCU開発者なら当たり前の事でも、MPU側から見ると違う事柄が、コチラの記事前半で良く判ります。記事からピックアップした具体例が下記です。

・MPUは、ネイティブコード以外の開発もある
・サンプルコードは、全MPUペリフェラルをカバーしていない
・オンチップデバッグ無しのMPUボードもありJTAG/SWDの馴染みが薄い

一方、新しいPico 2が、MCU開発者に向いている理由が下記です。

・MCU開発者に馴染みがあるTrustZone対応Cortex-M33コアMPU
・MCU標準開発環境Eclipse IDE代替可能性のあるVSCが開発環境
・Windows/Macで開発できPico 2ボードとDebug Probe価格も低い
・Cortex-M33とRISC-Vのコア切替えもでき発展性に優れる
・Pico 2でオープンソースソフト/ハード開発を体験できる

つまり、MCU開発者の知識や経験を活かし、新しいPico 2 MPU開発ができます。その結果、低い障壁でMPU開発が始められます。

また、業務とは別の自分のキャリアアップにも役立つと思います(二刀流開発の勧め章参)。

Pico 2 MPU開発ハードウェア入手先

最初の図のPico 2とDebugProbeの2つが、購入するハードウェアです。

新しいPico 2は、従来比、1.5~2倍の高性能と省電力性が特徴です。DebugProbeは、専用ケースに入っており接続ケーブルも付属で使い易いです。

秋月電子通商やスイッチサイエンスなどから購入できます。秋月の方が低価格ですが、取扱数量が少ないとサイト記述があります。

・Raspberry Pi Pico 2:秋月電子スイッチサイエンス
・Raspberry Pi DebugProbe:秋月電子スイッチサイエンス

Pico 2開発環境Visual Studio Code

前述の記事後半に、Pico 2開発環境のVSC構築方法と、従来MPUで自作したデバッガー(Picoprobe)を使ったLチカプログラミングが記述されています。

但し、本連載は市販DebugProbeを使います。また、VSC構築は、次回投稿します。先行してPico 2開発環境を構築したい方は、記事を参考にしてください。

Cortex-M33 MCU/MPU二刀流開発の勧め

MCUとMPUの二刀流でTrustZone Cortex-M33を開発
MCUとMPUの二刀流でTrustZone Cortex-M33を開発

今から10年後、2034年の日本とエンジニアの記事は興味深いです。

日本の人口減少と共にエンジニアに求められるスキルも変わり、「高度なスキルに加え、より早く開発業務をこなす能力も求められる」という趣旨です。

本稿のPico 2 MPU開発もこの記事の趣旨がベースになっています。つまり、MCU比、MPU開発は、オープンソースソフト/ハードへの対応が良く、早い業務開発に向いています。

IoTに必須のセキュリティ機能を持つTrustZone Cortex-M33を、高度スキルを活かしたMCU、オープンソースソフト/ハードを活かしたMPU、どちらでも開発できれば、顧客要求を満たすエンジニアになれます。

顧客にとって実現手段はMCUでもMPUでも構わない、開発期間とトータルコストが問題です。この問題を解ける開発者、TrustZone対応Cortex-M33のMCUとMPU二刀流開発者が目標です(ワールドチャンピオンドジャースの大谷翔平氏のように)。

Afterword:Pico 2オープンソースハード/ソフト例

MPU/SBC(小さいコンピュータ)の拡張性を支えるオープンソースハード/ソフトは、市場に数多くあります。これらを上手く使えば、MCU比、早く大規模な開発に役立ちます。ここでは、3例を挙げます。

・AI強化:Raspberry Pi AI Kit、13TOPS NPU追加。
・表示デバイス追加:Tiny2350、カラー液晶追加。
・SSD追加:Raspberry Pi SSD Kit、256GB/512GB追加。

極簡単に言うと、機能を拡張したい時は、これらRaspberry対応のオープンソースハード/ソフトを探し、それをPico 2へ組込めばOKです。正にコンピュータへボード追加のイメージです。多くの機能ボードとボードを動かすソフトが、低コストで入手できますので、MCU比、短期間で簡単に機能拡張できるのが、MPUのPico 2です。