新しくMCU開発を始める方も多い時節です。新担当者が、効率的にMCUを学ぶ方法を示します。今週は、ソフトウェア編、次週がハードウェア編です。
Summary:新しいMCUソフトウェアの学び方
- 細かいことは後回し、MCU評価ボードで主要サンプルコードを動かし、全体像を知る
- 知りたいMCU用語は、ChatGPTから回答を得る
- サンプルコードをIDEで担当者なりに変更し、評価ボード動作変化を見る
MCUソフトウェア習得のコツは、ベンダ公式サンプルコードの活用です。
開発に適したMCU評価ボードを入手後、サンプルコード動作 ⇋ IDEコード修正。この繰返しとChatGPT利用で短期・効率的にMCUソフトウェアが学べます。
注)新しい点は、ChatGPT利用の知識習得、サンプルコードベンチマーク活用の2点です。
注)1.2.3.の詳細は、後述します。
MCUソフトウェア学び障壁を下げるポイント
筆者がMCU開発を始めた頃は、MCUと周辺ハードウェアを設計後、外注さんへ発注。ハードウェアが出来上がるまでに、分厚いMCUマニュアルと格闘しながらソフトウェアに着手。それもドライバから開発し、短期完成には超過残業必須、苦労しました(残業当然の時代、ムダ作業も多かった…)。
現在は、MCUベンダが様々な高品質開発ツールを提供します。また、説明不足のMCU用語は、マニュアル検索よりも、ChatGPTで短時間に回答が得られますので、学びに集中できます。
高品質開発ツールとは、評価ボードと公式サンプルコードのことです。これらをお手本(≒ベンチマーク)として活用しない手はありません。
つまり、サンプルコードで、担当者の開発内容を試しながらMCUソフトウェア学びを進めます。ベンチマークからの差分が明確なので、バグ混入少、最も新担当者を悩ますバグ対処も少なく学びが可能です。
必要なのは、経験者から担当者へのアドバイスです。
本来MCUは、広範囲なアプリケーション開発が可能です。サンプルコード数の多さが、これを示しています。そこで、経験者が、ターゲットとする評価ボードとサンプルコードを担当者へアドバイス、または、担当者が経験者や先輩にこれらを聞いて、効率的なベンチマーク活用MCU習得を行います。
アドバイスにより、担当者は、ムダを省き目的のMCU学びに直結したアプローチができます。
MCU習得の障壁が高いのは、なんでもできるMCU応用範囲の広さと、担当者の知識不足です。障壁の高さを下げるポイントが以下です。
- 開発(習得)アプリケーションのターゲットを絞ること
- 効率的に知識を得ること
- 慣れないIDEバグ対処を少なくすること
これらポイント実現手段が、前章Summaryに示したChatGPT利用、ベンチマーク差分開発です。
以下、Summary 1.2.3の詳細を説明します。
1. MCUソフトウェア全体像を知る主要サンプルコード
MCUソフトウェア全体像は、初期設定と無限ループ処理です。処理内容は、周辺回路に応じて異なりますが、構造は、どれも同じでシンプルです。
担当者が、この全体像を未把握の場合、サンプルコードを単なるAPI羅列としてしか捉えられません。初期設定と無限ループに機能分離して捉えれば、サンプルコード理解度が向上します。
MCUには、多くのサンプルコードがありますが、全てが業務の開発アプリケーションに関連する訳ではありません。経験者が知恵を絞って、業務アプリに関連する主要サンプルコードを選定すれば、担当者もターゲットが絞れます。
担当者は、主要サンプルコードからMCUソフトウェア全体像がどれも同じことを学べます。
2. 回答を得るChatGPT
担当者にとって、詳細な説明が、判り易いとは限りません。
経験者と担当者が対面会話中ならば、相手の理解度は概ね把握できます。また、担当者が不明なことは、経験者へ質問するでしょう。
しかし、文章による説明は、一方通行です。
一方通行の説明量は、多ければ多い程、理解度が上がるとは限りません。かいつまんだ説明の方が、判り易い場合も多いと思います。
ChatGPT回答には、間違いの可能性もあります(関連投稿:前稿)。それでも、AIによる判り易い文章回答が期待できます。
ChatGPT利用で、担当者は、LINEアプリのようにいつでも気軽に質問できます。心理的負担が少なく、効率的に回答(知識)を得るメリットの方が、間違いの可能性よりも優れると思います。
3. IDEに慣れ、開発アプリケーションをイメージ
MCU開発では、統合開発環境(IDE)操作に慣れることが必須です。
評価ボードと適正なサンプルコードがあれば、即座にIDEが使えます。しかも、ビルドも成功します。担当者は、サンプルコードへ変更を加え、評価ボードの動作変化も観察できます。
仮にコード変更でビルド失敗しても、元へ戻せば成功します。変更とビルド成功を繰返すことで、IDE操作とバグ対処に慣れ、MCU学びと業務アプリ開発へ一歩近づけます。
その結果、業務関連アプリケーションのイメージも生まれます。現状と開発アプリの差分が明確になり、MCU開発者らしい残件の目標設定もできます。
Afterword:現状把握を困難にするムダ
サンプルコードだけで動作するMCUに対し、万人が100%解るサンプルコードの説明は、困難です。対象読者や記述量に合わせて調整せざるを得ないのが実情です。MCU説明が、読者に解り難い原因です。
新しいChatGPT利用で、書き手のMCU説明不足は、かなり改善できます。
経験が少ない開発者には、ムダは、現状把握や目標設定を困難にします。ムダを少なくするため、経験者や先輩は、担当者の主体性も尊重したアドバイスを心がけてください。
業務アプリケーション完成には、複数サンプルコードを結合し動作させることも必要です。その際には、弊社の各ベンダ対応MCUテンプレートがお役にたちます。ご活用ください。