生成AI革命インパクト

生成AI革命は、GAFAMと呼ばれる現在のIT企業勢力図を変えそうです。米)The Atlantic分析では、新勢力は、GOMA。2024年2月16日のプレジデント オンライン記事が、「Google+Anthropic」対「Microsoft+OpenAI」と解説しています。

生成AI革命によるIT企業、半導体産業、MCUベンダへのインパクト記事をまとめました(生成AI革命はAfterword1参照)。

※2月23日金曜が天皇誕生日で休日のため、木曜先行投稿します。

Summary:生成AI革命インパクト

生成AI革命は、企業、産業、生活など全てにインパクトを与えそうです。例えば、人々のネット利用は、従来の検索型からChatGPTと生成AIによる会話型へ変わるでしょう。会話型に慣れると、検索型へは戻れないからです(検索/会話型はAfterword2参照)。

このようにChatGPTと生成AIは、人間へ優れたAIとのインタフェースを与えます。しかも、AI進化・学習スピードは、人間の比ではありません。

企業サービス利用者は、このAIを上手く使えるか否か、つまり、AI活用性が重要な選択肢になるでしょう。

一方、サービス提供企業は、利用者のAI活用欲求を満たさないと、企業衰退の可能性があることを本稿の各記事は示しています。

GAFAMからGOMAへ

生成AI革命がGAFAMからGOMAへ変える
生成AI革命がGAFAMからGOMAへ変える

GOMAは、Google、OpenAI、Microsoft、Anthropicの頭文字です。

米)Anthropicは、2021年設立のAIスタートアップ企業で、当時OpenAI研究担当副社長ダリオ・アモディ氏らが、MicrosoftとOpenAI協業方向の違いから退き設立した会社です。そして、Anthropicの協業先は、Googleです。

GAFAMからGOMAへ変わる理由は、AIの開発・運営費用が、従来の検索型コストの10倍かかるからです。このコストを賄いつつも、AIがどの程度利益を生み出すかは、現状不透明です。

このリスクを承知の上でAIを牽引できるのは、検索大手2社、GoogleとMicrosoftだけです。その結果、The Atlanticは、GAFAMからGOMAへ変わると分析しています。

ChatGPTに無償/有償版があり、生成AIのGPTモデルもGPT-3.5/GPT-4など選択肢が出てきたのは、10倍コストが背景にあります。

Microsoft)Copilot対Google)GeminiのAI活用コストパフォーマンス競争が始まりました。

半導体産業インパクト

半導体産業を根本から変える規模のAI半導体開発計画
半導体産業を根本から変える規模のAI半導体開発計画

米)OpenAI CEO解任/復帰劇があったSam Altman氏は、2024年2月12日~14日、アラブ首長国連邦)ドバイのThe World Governments Summit 2024で、GPT-4の次世代モデルGPT-5に言及しました。

さらにSam Altman氏は、日本GDPの約2倍、最大7兆ドル規模の「AI半導体開発計画」を画策中だそうです。

これは、半導体産業を根本から変える規模の計画です。

IntelやAMDもAI専用プロセサ:NPU内蔵CPUを相次いで新発売し、GAFAM各社も、独自AI向けプロセサを開発中です。生成AI革命には、大量のAI半導体が必要になるのでしょう。

2023年売上が約5270億ドル、2030年には、約1兆ドル見込みの世界半導体売上は、AI関連で占められるかもしれません。

MCUベンダインパクト

自動運転(出典:政府広報オンライン)
自動運転(出典:政府広報オンライン)

半導体生産を担うMCUベンダも、最近、組織再編ニュースが多いです。例えば、STマイクロルネサスなどです。その背景を推測しました。

産業向けMCUに比べ好調な車載向けMCUは、制御系と車載IT系の大きく2に分かれSDV(Software Defined Vehicle)を進化させつつあります。車載IT系は、AIとの親和性が高く、自動運転などのAI化は、MCUベンダ製品系列を大きく変える可能性があります。

MCUベンダの組織再編は、生成AI革命による変化の前兆かもしれません。

Afterword1:生成AI革命とは?

ChatGPTと生成AIの出現は、生成AI革命と呼ばれます。それは、ブラウザ経由(CopilotまたはGemini)で、人間対人間のように会話でAIへ質問し、結果(回答)を引出すことができ、しかも、全分野でAIが回答できるからです。まさに革命的です!

関連投稿:生成AI活用スキル

Microsoft Copilot対Google Gemini
Microsoft Copilot対Google Gemini

Afterword2:検索型から会話型へ

ネット利用は、従来、検索が大部分でした。Google)ChromeやMicrosoft)Edgeなどのブラウザは、「キーワード」入力に対する検索出力の正確さ・速さを競いました。

しかし、利用者が本当に知りたいのは、ブラウザ検索出力では無く、検索出力を分析した結果です。この分析は、利用者自身が行いました。つまり、検索型で「結果」を得る方法は、下記でした。

キーワード入力→検索出力の利用者分析→結果

ところが、ChatGPTと生成AIは、初めから利用者が知りたいことを「質問」としてネットへ入力できます。ネットで会話しながら追加質問もできます。会話型で「結果」を得る方法は、下記です。

質問入力→結果

検索型よりも知りたい結果が、直接得られます。ネット利用が検索型から会話型へ進化し、AIとの会話に慣れると検索型へ戻れない理由です。


評価ボード活用MCU製品開発

MCUの正常動作には、安定したクロック供給が最重要です。これは、ソフト/ハード、どちらの開発者も知っておくべき基本です。デジタルデバイスの動作保証は、安定クロックがあってこそだからです。

ルネサスRX、RAファミリで説明しますが、全ベンダの評価ボードでも同様です。ぜひ本稿を参考にしてください。

メイン/サブクロック回路基板設計要点

2024年2月発行のRX、RAファミリ向けアプリケーションノートを使って、製品開発にベンダ評価ボード活用メリット/デメリットを説明します。

メインクロック回路、サブクロック回路のデザインガイド Rev.1.00 (PDF) (日本語)
Design Guide for Main Clock Circuit and Sub-Clock Circuit Rev.1.00 (PDF) (英語)

※アクセス時、ログインが必要な場合があります。

メインクロックとサブクロックの基板例(出典:図26)
メインクロックとサブクロックの基板例(出典:図26)

RX、RAファミリのMCUを対象に、メイン/サブクロック発振回路基板パターンやルネサス推薦発振子メーカなど、特にMCUクロック関連回路の基板設計要点をまとめたのが、上記アプリケーションノートです。

MCUの動作を決めるのがメインクロック、サブクロックはRTC(時計機能)に使います。全てのデジタルデバイスは、正確なパルス幅の安定したクロックが供給されて初めて正常に動作します。MCUは、なおさらです。

クロックが不安定な場合は、原因不明のMCUトラブルが発生します。外来ノイズにも脆弱です。このような異常状態では、デバッグなどできません。

例えが悪いですが、人間で言えば「心不全」のようなものです。メインクロックの働きを具体的に知りたい方は、コチラを参照(正常クロック供給下の解説)。

従って、クロック回路基板設計要点を守った上でのMCU製品開発が最重要です。

基板設計理想解と現実解

前章の基板設計ガイドは、クロック関連部品だけの理想的な基板、つまり、「理想解」です。

しかし、実際の基板設計は、大きさやコスト、クロック以外の他部品の配置など様々な事柄を考慮する必要があります。そして、それらの総合判断結果が「現実解」であり、実際の製品基板です。

現実解は、ベンダMCU評価ボードでも同じです。

RAファミリRA6E1評価ボードのMCU回り基板を示します。理想解と違っても部品配置、クロック配線の太さ・短さ、そのシールドなど参考にすべき基板回路を持つ現実解です。

RAファミリRA6E1のMCU周り基板現実解
RAファミリRA6E1のMCU周り基板現実解

各ベンダMCU評価ボード目的

前章のMCU評価ボード現実解は、ルネサスRX、RAファミリに限った話ではありません。

つまり、クロック要点を満たし外来ノイズにも強く、かつ、Arduinoシールドコネクタなどで拡張機能も実装済みのデバイスが、各ベンダのMCU評価ボードです。これらは、MCUベンダ自身の開発ボードですので、極めて高い製品クオリティを持っています。

ベンダMCU評価ボードとは、MCUを評価するためのボードです。しかし、同時に、MCUが正常に動作するベンダ推薦発信器や基板パターンの製品ハードウェア手本も示していると言えます。

プロトタイプ時、各ベンダ評価ボードをそのまま制御系に流用するのは、原因不明MCUトラブル(心不全)を避ける手段として有効であることが判ると思います。

評価ボード活用得失

プロトタイプにMCU評価ボードを流用するメリット/デメリットをまとめます。構成は、下記とします。

プロトタイプ構成=評価ボード+ユーザ機能ボード+ユーザソフトウェア
ボード間接続=Arduinoコネクタ

メリット

  • 高信頼制御ハードウェアが、評価ボードにより簡単に得られる
  • 制御能力過不足時、Arduinoコネクタを持つ別評価ボード交換可能
  • ユーザ機能デバッグに集中できる

デメリット

  • 製品の大きさ、コストを上げる要因になる

簡単に言うと、高信頼で載せ替え可能な制御系と引き換えに、大きさやコスト面の犠牲が生じる構成です。
しかし、筆者は、早期プロトタイプ開発に最適な方法だと思います。

製品改善アプローチ

最終製品時の大きさ、コストを改善するには、評価ボードとユーザ機能ボードを一体基板化するのがBetterです。この時も、プロトタイプに使った評価ボードMCU周りの発振子配置や配線は、手本としてそのまま製品基板へ流用可能です。

また、一体化最終製品のトラブル発生時、ユーザ機能ハードウェア起因か、または、ユーザソフトウェア起因かの切り分けも、評価ボード流用プロトタイプは容易にします。なぜなら、評価ボードは、信頼性が高いベンダ開発品だからです。

つまり、最終製品とプロトタイプの差分が原因と考えられ、一体化基板ハード、または、ユーザソフトの2つに1つとなります。同一ユーザソフトでのトラブルなら、ハード起因が疑われます。

評価ボード活用プロトタイプは、早期製品化だけでなく、様々な用途やメリットを生みます。

Summary:評価ボード活用MCU製品開発

ベンダ評価ボード活用MCU製品開発
ベンダ評価ボード活用MCU製品開発

ルネサスRX/RAファミリのメイン/サブクロック回路デザインガイドから、MCU製品開発にベンダ評価ボードをそのまま流用する早期プロトタイプ開発方法を示し、得失を明らかにしました。

評価ボード活用プロトタイプは、大きさ、コストを改善する基板パターンの手本となるだけでなく、最終MCU製品トラブル原因が、ハードウェア起因かソフトウェア起因かを切り分ける手段にも使えるなど、メリットが大きいことを示しました。

Afterword:プロトタイプソフトウェア開発に弊社テンプレート

評価ボードがハードウェア手本なら、ベンダ開発サンプルコードは、ソフトウェアの手本です。

弊社テンプレートは、各ベンダの代表的MCU評価ボードに対応済みです。テンプレートは、ベンダサンプルコードを流用・活用し、プロトタイプ向けソフトウェアの早期開発が可能です。

弊社テンプレートと評価ボードを使って早期プロトタイプ開発を行い、MCU製品開発に役立ててください。


AIのCPUとMCUへの影響

AIのPC CPUへの影響
AIのPC CPUへの影響

2024年は、AIがPCへ急激な変化を与えそうです。そこで、 AIによる PCハードウェアの変化トレンドを調べました。これら変化は、組込みハードウェアのMCUへも影響すると思うからです。

CPU、GPU、NPUとは? MCUとの違いは?

超簡単にCPU、GPU、NPUを整理します。ついでに、DSPとMCUも加えます。

CPU(Central Processing Unit):パソコンの「汎用演算」装置。PCの頭脳。
GPU(Graphic Processing Unit):「グラフィック演算」専用装置。
NPU(Neural Processing Unit):GPU内の「AI関連演算」専用装置。
DSP(Digital Signal Processor):積和演算等「リアルタイム信号演算」専用装置。
MCU(Micro Controller Unit):組込みシステム「汎用演算」装置。ADC等周辺回路内蔵。

CPU~DSPまでが、PC向け演算装置、組込み向けの演算装置がMCUです。

MCUとPC向け装置の最も異なる点は、MCUは、ADC(Analog Digital Convertor)やメモリなどの周辺回路と汎用演算回路を一体化し小型装置にした点です。

GPU/NPU/DSPは、汎用CPU処理の一部を専用ハードウェアで高速処理します。CPUの代わりにこれら専用ハードウェアが処理するため、PC全体の処理速度が速くなります。

このようにPCハードウェアは、汎用CPUの高速化と汎用処理を補う専用ハードウェアにより進化を続けてきました。

NPUが行うAI関連演算は、Web会議の背景ぼかし、複数言語への同時翻訳、通話のノイズ除去などの処理です。これらは、GPUでも可能ですが、更なる高速処理が可能です。

AI PCのIntel Core Ultra

Intel Core Ultra Processors
Intel Core Ultra Processors

Intelは、AI処理のハイブリッド化が進むと考えているようです。

つまり、ネットワーク側データセンターやGPUのみを使ったAI処理ではなく、PCやスマホなどのエッジ側CPU/GPU/NPUも協力、ネットワークとエッジがハイブリッドにAI処理を行います。

これを実現するエッジ側PCが、Intel Core Ultra搭載AI PCだと発表しました。同記事でIntelは、2025年末までに1億台のNPU内蔵新CPU:Core Ultra搭載AI PCになる、とも宣言しています。

AI有効性が認識されれば、停滞気味のPC買換え需要は一気に加速するでしょう。また、AIハイブリッド化は、急増するAIリアルタイム処理の観点からも好都合です。

GPU+NPU内蔵AMD Ryzen 8000G

AMD Ryzen 8000G Series Processors
AMD Ryzen 8000G Series Processors

2月発表のAMD Ryzen 8000Gは、従来比内蔵GPU強化とNPU(Ryzen AI)内蔵の新CPUです。CPU単体でも、フルハイビジョン(1920×1080、1080p)ゲームが十分楽しめる性能を持つそうです。

コストパフォーマンスに優れるAMD CPUユーザの筆者も、Ryzen 8000Gは気になります。ビジネス用途としても、従来CPUと同じ消費電力(TDP=65W)でGPU+NPU高性能化、AIと高画質対応の新CPUは注目しています。

AI革命によるPCハードウェア変化

AI普及は、PCハードウェアに対し以下の変化トレンドを与えると思います。

・NPU内蔵CPU化
・エッジAIリアルタイム処理化
・低消費電力化

現状のままAIが普及すれば、世界の電力不足は避けられない、エッジ側はもとより、ネットワーク側でも更なる低電力化が必要との認識は、NTTのIOWNが広めました(関連投稿:IOWN、NTT)光電融合技術)。

現状のままでは2030年に世界総電力10パーセント程度をデータセンターが占める(出典:NTT STORY)
現状のままでは2030年に世界総電力10パーセント程度をデータセンターが占める(出典:NTT STORY)

AIがもたらす便利さ、効率性、生産性向上は、「⽣成AI⾰命」と呼ばれます。生成AIとの直接ユーザインタフェースでもあるPCは、ハード/ソフト含め大きく変わるのは明らかです。

Summary:AIのCPUとMCUへの影響

前章にAIによるPC CPU変化をまとめました。

本ブログ対象のMCU/IoT MCUへのAI影響は、簡単に言うと「PC変化の後追い」です。しかし、生成AI革命が、PC後追い時間差を、従来比より少なくすると思います。

AIによるMCU/IoT MCU急変トレンドをまとめると以下です。

・Tiny AIエッジ処理(アプリ例:ポンプ異常検出、顔認識、人物検出、故障検出など)
・超低消費電力動作

MCUは、小型低価格化のためNPU内蔵、または、ソフトウェアでエッジAI処理を行います。小型なAIのためTiny AIとも呼ばれます。アプリ例から、AIハイブリッドのPCより、エッジMCU AI処理比率が高い気がします。

また、数十億ものMCU数が必要なIoT MCUは、1個1個のハード/ソフトの超低消費電力動作が必要になります。

これら動向に対し、MCU開発者は、自ら生成AIを活用し、短納期開発に備えておくべきでしょう。

関連投稿:ハードウェアまたはソフトウェアMCU AI機能とアプリ例、MCU AI現状、生成AI活用スキル

Afterword:慌てず、騒がず、遅れず準備

生成AI革命は、顧客のAIアレルギーを無くし、MCU開発者には、これまでと全く異なる異次元の短期開発や手法を求めるかもしれません。CPUやMCUへの新技術導入もより早くなりそうです。

人間開発者は、慌てず騒がず、しかし、変化にも遅れずに追随が必要です。そのためにも、動向を常に把握し、的確な対応準備を心がけましょう。


生成AI活用スキル

MCU開発以外にも生産性向上のAI活用事例は多数あります。例えば、芥川賞受賞作家が、5%前後の生成AI文書を受賞作にそのまま利用、大学入試共通テストを、AIが平均以上に解いたなどです。

また、自動車業界もAIアシスタントのChatGPT搭載など、今後AI活用は更に加速するでしょう。

急増するAIに対し、筆者が現在考えている生成AI活用スキル、それは質問能力です。質問能力を鍛え、同時に意味が解らない用語などを簡単に解決する方法を示します。

生成AI、ChatGPT、Copilot

AI用語を簡単に整理します(出典:SoftBank AI用語解説)。

AI、機械学習、ディープラーニング、生成AIの関係(出典:SoftBank)
AI、機械学習、ディープラーニング、生成AIの関係(出典:SoftBank)

生成AIは、機械学習した膨大なデータから、パターンや特徴を抽出し、これらから新しいデータ(テキスト、画像、音声)を生成します。

ChatGPTは、対話(Chat)により質問に対する回答の形式で生成AIデータを引出すサービスです。最新生成AI GPT-4 (Generative Pre-Trained Transformer 4)を使って共通テストをダントツに解いたのもこのChatGPTです。

Copilotは、 Microsoftの対話AIアシスタントの総称です。GoogleならBard、AppleならSiri、AmazonならAlexaなどがあります。

Copilot/Bird/Siri/Alexaが、各社ブラウザ搭載のChatGPTを利用し、GPT-4から回答を引出す役目は同じです。AIアシスタント名が異なる、と考えれば良いでしょう。

同じARM Cortex-M4コア利用MCUでも、STマイクロならSTM32F4、ルネサスならRA4M1などと製品名が異なるのと同じ、と言えばMCU開発者には解り易いと思います(内蔵周辺回路や製造プロセスが異なるので、性能も多少異なりますが…)。

ChatGPT分析

ITmedia記事 のChatGPT進化(前編)、ChatGPTビジネス(中編)、ChatGPT活用スキル(後編)からも、効果的に生成AIを活用するには、ChatGPTへの的確な質問、つまりブラウザへのプロンプト入力が重要と言われます。

ブラウザ検索が上手い人ほど、問題解決が速いのと同じです。

では、どうしたらChatGPTへ上手いプロンプト入力ができるでしょうか? 「練習、慣れ」だと思います。

Microsoft Copilot利用方法

ブラウザとしてMicrosoft Edgeを使った例を示します。プライベートモードでは右上Copilotアイコンが表示されないので注意してください。PC版Copilotは、過去のAI回答も履歴として保存されます。

スマホ版Copilot起動例が、左側のダークモード表示です。「GPT-4を使用する」へ変更します。

Microsoft CopilotのChatGPT利用例
Microsoft CopilotのChatGPT利用例

どちらの版も、「何でも聞いてください…」の部分へ、ChatGPTへの質問:プロンプトを入力します。スマホ版では、音声入力が便利かもしれません。

意味が解らない用語などは、そのまま上記プロンプトへコピー&ペーストで入力します。すぐに的確な用語解説が得られます。

上手いプロンプト入力の方法は、ChatGPT活用スキル(後編)のページ1に(1)~(6)が、また、プロンプト入力のコツも、ページ2の(1)~(4)にまとまっています。

※プライベートモードでCopilotが起動しないのは、履歴保持以外にも、ユーザ毎の質問背景やユーザレベルをAIで学習、推定させるためです。これは、Copilot性能向上に役立っているそうです。

ChatGPT最大メリット

人間的配慮不要なのがChatGPT最大メリット
人間的配慮不要なのがChatGPT最大メリット

人間同士だと、質問を受ける相手のことを気遣って、納得するまで質問しない場合も多いでしょう。AIの場合は、この人間的配慮は全く不要です。1日最大2000回まで、いつでも、どこでも、何度でもChatGPTプロンプト入力が可能です。

これらが機械ChatGPT最大メリットだと思います。※上限回数は暫定値。

ChatGPTへのプロンプト入力は、質問スキルを鍛える手段にも使えます。そして、エキスパート盲点だらけの MCU技術資料は、このスキル鍛錬教材としても役立つ、つまり、MCU開発者には一石二鳥と言えます。

Summary:生成AI活用スキル

筆者が考える生成AI活用スキル、それはChatGPTへの質問能力です。

Microsoft EdgeブラウザCopilotを使い、ChatGPTへの質問スキルを鍛え、同時にMCU技術資料に多いエキスパート盲点記述の両方を解決する方法を示しました。

Afterword:人間対自ら学習、成長するAI

機械学習で自ら学習し成長する生成AIの回答が、本当に正しいかを判断するのは、人間です。

ChatGPT活用スキル(後編)の最後に書かれている、試行錯誤しながらChatGPTを使い、学んで生きた知識にしていく「極めて人間らしい営みがAI利用に重要」に大賛成です。

履歴やレベル推定、いわゆる無断学習は、多少気になりますが、AIを活用しご自分の質問スキル、MCU開発スキルを上げましょう!


Azure RTOSはEclipse ThreadXへ

Azure RTOSはEclipse ThreadXへ
Azure RTOSはEclipse ThreadXへ

Microsoftが、Azure RTOSをEclipse Foundationへ提供しました。Azure RTOSからEclipse ThreadXへ名前を変え、ベンダーニュートラルなオープンソースRTOSへ変わりました(2024年1月9日、MONOist)。

上記記事に筆者は驚きました。Microsoft発表は、昨年11月21日です。発表から約2か月たった現在の業界動向をまとめました。

Microsoft動向

MicrosoftがAzure RTOSを手放した経緯は、前述MONOist記事が詳しく説明しています。ごく簡単にまとめます。

Microsoftは、2019年ExpressLogic社買収で入手したThreadXを、自社クラウドサービス接続用RTOS、Azure RTOSとして育ててきた。しかし、2022年Azure RTOS開発責任者がMicrosoftを退社。結局、2023年Microsoftは、Azure RTOSをEclipse Foundationへ提供。今後、Microsoftは機能安全コストも負担しない。

※機能安全コストとは、厳格な安全やセキュリティ規格を満たすソフトウェアのメンテやサポートコスト。

Eclipse財団動向

MCU統合開発環境のデファクトスタンダード:Eclipse IDEの非営利運営団体がEclipse Foundation。

Eclipse財団は、提供Azure RTOSをEclipse ThreadXと改名。ベンダーニュートラルなオープンソースRTOSとし、一般的に有償の機能安全版も、2024年1月末目途にMIT Licenseで提供準備中。

Eclipse財団は現在Eclipse ThreadX開発者募集中で、Eclipse ThreadXの全コンポーネント(IoT MCUベンダ動向図のTCP/IPスタック等)無償配布になる可能性あり。

MCU RTOS動向

MCU RTOS動向
MCU RTOS動向

Eclipse ThreadX競合ライバルのFreeRTOS、 μT-Kernel状況が下記。特段の対応は現在無し。

FreeRTOS:機能安全版は商用ライセンスSAFERTOSで提供中。FreeRTOSは無償提供中。
μT-Kernel: IEEE標準規格:IEEE2050-2018完全準拠版μT-Kernel 3.0を無償提供中。

IoT MCUベンダ動向

本ブログ掲載IoT MCUベンダで言えば、STマイクロ>ルネサス>NXPの順に、Azure RTOSに積極的でした(FreeRTOSなら真逆)。

そのSTマイクロが、Eclipse ThreadXは、重要な開発環境の一部、とMicrosoft発表内でコメントしています。つまり、STマイクロは、これまでのAzure RTOS同様、Eclipse ThreadXをミドルウェアとして提供すると思います。

現代的ユーザMCU開発の例(出展:The ST blog)
現代的ユーザMCU開発の例(出展:The ST blog)

米市場動向

MicrosoftがAzure RTOSを手放したのは、育成済みAzure RTOSを、今さら保守・運用しなくても、自社クラウドサービスへの影響は少ない、と判断したからかもしれません。

一方、一般向けAI PCに関しては、Windows 11シェア伸び悩む、Windows 12方向性などの記事から、Microsoftは次期Windows+Copilotに注力すると思います。AI Copilotキー追加モバイルCopilotなど、最近は生成AI関連のCopilot発表一色です。

これらCopilot群は、次期AI Windows(Afterword2参照)で使い易く統合されるでしょう。

2024年1月12日、米株式市場も⽣成AI⾰命からより多くの恩恵を受けるMicrosoft時価総額を、アップルを抜き首位復活させました。

Summary:IoT MCU開発者対応

Microsoftが、Azure RTOSを手放し、Eclipse財団が、Eclipse ThreadXと改名、ベンダーニュートラルオープンソースRTOSとしたことを、業界は、冷静かつ好意的に受け止めているようです。

むしろ、AWSならFreeRTOS、AzureならAzure RTOSと2本立てIoT MCU RTOS開発が、Eclipse ThreadXで一本化、機能安全パッケージも無償提供期待の方が大きいのかもしれません。

IoT MCU開発者は、Eclipse ThreadXを含むRTOS動向に注意する必要があります。

Afterword:RTOSチェックポイント

RTOS動向チェックポイント
RTOS動向チェックポイント

MCUにRTOSを使う理由は、クラウド接続ライブラリが必要だからです。

しかし、ライブラリは関数の集合に過ぎないので、ライブラリ利用例、つまりサンプルコードが無いと使えません。ベンダーニュートラルEclipse ThreadXが、AzureとAWS両方の接続サンプルコードを提供するかがチェックポイントです。

また、サンプルコードがあっても、接続の容易さや安定性も確認したいです。評価ボードでのテストやクラウド接続ユーザ数変化、SNSなどで判るでしょう。

Eclipse ThreadXが他RTOSへ与える影響は、少なくないと思います。この辺りは、調査を続けます。

Afterword2:AI Windows12決め手

Win11敗因の1つは、TPM 2.0などのPCハードウェアとWin11アップグレード条件を、100%結び付けたことだと思います。条件を満たさないPCは、Win11アップグレートができずWin10のままです。Win10でも、PC生産性に大差はありませんが…😓。

ハードウェアとアップグレート条件の結び付きを緩くし、例えば、NPU(Neural Processing Unit)搭載最新Core Ultraプロセッサなら、自然言語入力にも対応するAI機能満載Win12、古いCPUなら、従来CUI/GUI 入力のAI Win12など、アップグレード機能/能力差を付けます。

これに近いことは、 既に昨年のWin11 23H2アップデートの段階的機能ロールアウト(Controlled Feature Rollout、CFR)で実施中です。

AI機能は、PC生産性に直結します。PC買換え需要も喚起できるでしょう。不振Win11と2025年秋Win10サポート終了前に、AI Win12リリースをMicrosoftが急ぐ理由です。

つまり、2024年内にPCハードウェアに応じたAI Win12アップグレートをMicrosoftが提供することが、低下しつつあるWindowsシェア復活の決め手になると思います。


効果的MCU学習と開発方法

MCU開発者は、常に新しい事柄を学習しつつ、同時に開発成果の出力が求められます。MCU開発者の学習と開発の参考になる2記事を見つけたので紹介します。

  1. ソフトウェア開発者が「学習」について知っておくべき10のこと、2023年12月12日
  2. 時間外労働と生産性低下の意外な関係、2023年12月11日

※英語版は、参照。

MCU学習と開発の参考になる2記事
MCU学習と開発の参考になる2記事

AI要約が望ましいのですが、無いので筆者が要約します。是非、ご自身で読んでください。

参考記事1要約:学習10のこと

人間記憶の仕組み、学習の仕組み、初心者とエキスパートの違いを示し、ソフトウェア開発者が学習を改善するための10個の事柄(#1~#10)解説。

筆者が特に印象に残った内容が、下記。

  1. 多くのコードを読み「理解」が、プログラミング熟練度を向上(#3)
  2. 1日の学習時間は、90分が限度(#5)
  3. 問題・課題のトライ順序を変える(ランダム化)のは解決に効果的(#5)
  4. エキスパートが初心者の目で見られなくなる「エキスパート盲点」は多い(#8)
  5. 休憩や散歩でトライ戦略を再検後、やり直す(#10)

参考記事2要約:意外な関係

欧米と日本、13000従業員の労働時間と生産性の調査結果。開発作業と生産性の関係説明。

印象に残った内容が、下記。

  1. 休憩無し従業員は、燃え尽き症候群の可能性が1.7倍(休憩時間と生産性)
  2. 理想的集中時間は、1日4時間。最長会議時間は、2時間。(仕事に集中できる時間)

know-how をリビルド

英語の「know-how」から来た外来語、日本語カタカナ表記「ノウハウ」は、専門的な知識や技術、手法という意味です。

知的財産の1つのため、日本発の公開例は少ない気がします。しかし、海外発know-howは、有用情報が多数あります。和訳が無くても、Microsoft Word翻訳やブラウザ翻訳を使えば、英文know-howが手軽に日本語化できます。

MCU開発者は、これら know-how活用をお勧めします。

但し、自分なりの解釈や理解を加えることが重要だと思います。これは、参考記事1が示したプログラミング熟練度を向上させるには、多くのコードを読み、その「理解」が大切なことと全く同じです。

つまり、 万人向け know-howをガイドとし、自分の頭で考えて理解する、これが、本当の学習や習得になるからです。ソフトウェア開発者的に言うと、「リビルド」です。

Summary:効果的MCU学習と開発方法

効果的MCU学習と開発には集中と多様性が必要
効果的MCU学習と開発には集中と多様性が必要

know-howの2記事を参考に、筆者がお勧めする効果的なMCU学習と開発方法をまとめます。

MCU開発者には、集中と多様性が必要です。

限られた集中時間(90分~4時間)に最大開発成果を上げるには、回り道のようでも1日の作業時間を、プログラミングとその他作業に分離して作業すべきです。

プログラミングも課題を複数に分け、壁に遭遇した場合には、そこに拘らず別課題プログラミングへ変えるなどが効果的です。課題への集中と、拘らずに変えることができる多様性が、効果的MCU開発になります。

多様性具体例の1つに、MCUベンダのサンプルコードと評価ボード活用があります。

自社ハードウェアが手元にある場合でも、逆にない場合はなおさら、評価ボード上で類似サンプルコードを動かすと、柔軟で多様な開発視点が得られます。これにより、例えば、隠し製品機能などの実装などもありえるでしょう。

その他の作業には、MCU関連の新しい学習なども含みます。

これら作業も、休憩やコーヒーブレイク、散歩などを挟みつつ様々な内容に分割しましょう。気分転換効果が期待できます。隠し製品機能などのアイデアも生まれ易いでしょう。

Afterword:盲点解決:サンプルコードと評価ボード

紹介した2つのKnow-how記事は、ソフトウェア開発者作業時間の科学的分析結果に基づいています。

MCU技術資料は、エキスパート盲点だらけです。内容が判り難いのは、読者のせいではありません。紹介Know-howやAI Copilotなどが、効率的な盲点解決手段を与えるでしょう。

一方、自ら気づき難い開発者のソフトウェア盲点やバグ解決手段が、サンプルコードと評価ボードです。

サンプルコードと評価ボードは開発者自身のソフトウェア盲点を浮き彫りにする
サンプルコードと評価ボードは開発者自身のソフトウェア盲点を浮き彫りにする

確実に動作するサンプルコードと評価ボードは、自分のソフトウェア盲点を浮き彫りにします。また、頭の中だけでなく、具体的なソフトウェア動作を目視することで、楽しく開発が続けられます。

MCU攻略の秘訣は、多様性を忘れず、楽しく、面白く開発に集中(集中時間はタイマ等で管理)、学習することだと思います。


RTOSアプリケーションIoT MCU能力推定

RTOSアプリケーションのIoT MCUにはどの程度のハードウェア能力が必要か?
この答を IEEE標準RTOS のμT-Kernelプログラミングコンテスト対象評価ボードから考察しました。

RTOSコンテスト評価ボード
RTOSコンテスト評価ボード

RTOSコンテスト対象評価ボード

MCUベンダ大手4社:インフィニティ、STマイクロ、NXP、ルネサス協賛のRTOSプログラミングコンテストが開催中です。RTOSは、IoT MCU世界標準のμT-Kernel 3.0利用がコンテスト条件です(関連投稿:前投稿)。

但し4社評価ボードは、μT-Kernel以外にもFreeRTOSやAzure RTOSでも動作可能です。そこで、これら評価ボードスペックを分析すると、RTOSアプリケーションのIoT MCUに、どの程度のMCUハードウェア能力が必要か、その目安が判ると思います。

コンテスト対象評価ボードは、ベンダ4社評価ボードと英BBC開発micro:bit、合わせて5種です。

インフィニティ:KIT_XMC72_EVK
STマイクロ:Nucleo_H723ZG
NXP:MCX N94x評価ボード(1月4日現在Coming Soon)
ルネサス:EK-RA8M1
BBC:micro:bit

評価ボードMCUコアとROM/RAM量

各評価ボードは、どれもARM Cortex-M系コアを用いています。

インフィニティとSTマイクロは、ハイパフォーマンスMCU Cortex-M7、NXPは、Trust Zone搭載MCU Cortex-M33、ルネサスは、AI/ML性能向上のArm Helium搭載MCU Cortex-M85、BBC開発micro:bitは、ベーシックなMCU Cortex-M4です。

評価ボードのCortex-Mコアと最高動作速度、ROM/RAM量が下表です。

ベンダ Cortex-Mコア/速度 ROM(KB) RAM(KB)
インフィニティ M7/350MHz 8192 1024
STマイクロ M7/550MHz 1024 564
NXP M33/150MHz 1024 1024
ルネサス M85/480MHz 2049 1024
BBC M4/64MHz 512 128

BBC開発micro:bitは、他に比べスペックが劣っています。
これは、μT-Kernel 3.0学習教材用でコスト最優先のためと思います。

ベンダ4社評価ボードは、RTOSコンテスト参加ハードウェアなので、どれも汎用RTOSアプリケーション開発ができるハズです。コンテストエントリー時に、応募者が第3希望まで評価ボードを選べます。

IDEはRTOSもベアメタルも同じ

ベンダ4社は、ベアメタル開発用の統合開発環境:IDEを利用し、FreeRTOSやAzure RTOS開発環境を提供中です。

例えば、STマイクロは、ベアメタル開発で使うSTM32CubeIDEに、ミドルウェアのAzure RTOS開発ツールを追加し、Azure RTOS開発環境を、ユーザ自身で構築します(関連投稿:STM32 Azure RTOS開発ツール拡充

現代的ユーザMCU開発の例(出展:The ST blog)
現代的ユーザMCU開発の例(出展:The ST blog)

コンテストは、μT-Kernel 3.0 RTOS開発です。筆者は、μT-Kernel 3.0をベンダ4社評価ボード上で動作させる作業、いわゆるポーティング処理は、把握していません。

しかし、本稿主題は、RTOS IoT MCUに必要なハードウェア能力の推定です。従って、評価ボードへのμT-Kernel 3.0ポーティングは、無視します。

一方、micro:bitは、μT-Kernel 3.0で動作するEclipse IDEが提供されます。従って、どなたでも直ぐにmicro:bit上でμT-Kernelを動かすことができます。この点も、教育用に適しています。

RTOS IoT MCUハードウェア能力推定

最初の表に戻り、RTOS IoT MCUに必要なハードウェア能力を推定します。

ベンダ Cortex-Mコア/速度 ROM(KB) RAM(KB)
インフィニティ M7/350MHz 8192 1024
STマイクロ M7/550MHz 1024 564
NXP M33/150MHz 1024 1024
ルネサス M85/480MHz 2049 1024
BBC M4/64MHz 512 128

先ず、MCUコア能力は、micro:bitスペックから最低でもCortex-M4以上、RTOSアプリケーションを実用的に開発するには、Flash ROMは1024KB以上が必要そうです。教育用micro:bitの512KBは、排除しました。

また、RTOSは、動作タスク数に比例し使用スタック量が急増します。これは、RTOSが実行タスクを別タスクへ切替える毎に、実行タスク変数やレジスタ等の状態をスタックにプッシュするためです。タスク再実行の際には、RTOSがスタックからポップし、実行前タスク状態へ戻します。

RTOSスタック動作(出展:ウィキペディア)
RTOSスタック動作(出展:ウィキペディア)

仮に、このRTOSポップ/プッシュに対してスタック量が不足した場合は、再現し難いバグになります。このバグを避けるには、必要十分な量のスタック領域が、RAM上に必要となります。スタック量を見積もるツールは、各社のIDEに付属しています。

表から、RTOSアプリケーション開発には、RAMは、最低でも512KB、安全側評価なら1024KB程度が必要そうです。

Summary:RTOS IoT MCUハードウェア能力

RTOSアプリケーションが動作するIoT MCUに必要なハードウェア能力を、μT-Kernelプログラミングコンテスト対象評価ボードから考察した目安が下記です。

MCUコア:ARM Cortex-M4以上、Flash ROM 1024KB以上、RAM 512KB以上

RTOSアプリケーション開発時には、MCUデバイスコストと発展性の検討が必要です。

機能拡張や横展開が期待できるRTOSアプリケーションなら、IDE付属スタック見積ツールを活用し、RAMに余裕があるデバイスが、効率的で安全な開発ができそうです。

Afterword:2024年もよろしくお願いします

日本時間の毎週金曜日、MCU話題を中心に、その開発環境のWindowsや比較対象にMPU/SBCなども混ぜながら、IoT MCU開発お役立ち情報を投稿します。

「開発スピードと成果」この2つを強く求められるのが、MCUに限らず開発者の宿命です。

激変MCU環境で背反するこの2つを両立する手段の1つが、MCUテンプレートだと筆者は考えています。開発初期立上げをスムースにし、全体像の視点を持ちつつ個々の機能追加もできるからです。
RTOS MCU開発も同様だと思います。

但し、全て自作するベアメタル開発と異なり、RTOSと協調動作するのがRTOS MCU開発です。RTOSを活かすMCUタスク作成や本稿のMCUハードウェア能力を、弊社RTOSテンプレートへ反映したいと考えております。

本年もどうぞよろしくお願いいたします。

FreeRTOS version 11.0.0は、マルチコアMCU動作が可能になりました。


μ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日(金)投稿予定です。

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


ベアメタルかRTOS開発か?

弊社MCUテンプレートご購入者様から、ベアメタルかRTOS、どちらの開発が良いかについてご質問がありました。
ご質問者同意を得ましたので、筆者回答を一部修正、抜粋して示します。

Summary:クラウド接続=RTOS開発、スタンドアロン=ベアメタル開発

RTOS vs. BareMetal
RTOS vs. BareMetal

AWSやAzure RTOSなどのクラウドへ接続するMCUは、RTOS(FreeRTOS/Azure RTOS)開発が必須です。クラウド接続やセキュリティ確保に、専用RTOSライブラリ利用が必要だからです。また、大規模、複数開発者の場合も、RTOS開発が向いています。

スタンドアロン動作のMCUは、ベアメタル開発をお勧めします。MCU動作を全て開発者で管理・制御できるからです。

ベンダ提供サンプルコードとMCU評価ボードを活用すると、ベアメタル/RTOSどちらの開発でも、高品質・短期間で製品のプロトタイプ開発ができます。弊社MCUテンプレートは、サンプルコード活用プロトタイプ開発に適しています。

クラウド接続MCU:割込みベースRTOSタスク開発

AWS (Amazon Web Services)やAzure (Microsoft Azure Cloud Services)へ接続するMCUは、クラウド接続用に、FreeRTOSやAzure RTOS接続ライブラリの利用が前提条件です。また、高度なセキュリティ対策が求められますので、クラウド側提供セキュリティライブラリを使うことも求められます。

従って、クラウド接続MCUは、必然的にRTOS開発となります。

通信やセキュリティ以外の処理は、タクス(スレッドとも言うが、以下タスクと略)の開発が、ユーザ開発内容です。

タスクは、移植性が高い単位に機能分割し、割込みベースで作成します。複数タスクの割込み処理や優先順位を管理・処理するのが、RTOSの役目です。

RTOSが優先順位に基づいて個々のタスクをMCUに割当てることで、複数タスクの並列処理が進みます。シングルコアMCUの場合、一度に実行するタスクは1個です。従って、タスクは時分割処理です。分割タイミングが短く、しかも優先順位に基づいたタスク処理ですので、複数タスクが並列処理しているように見えます。

タスクは、別タスクのことを考慮せず独立性、移植性高く開発可能です。その代償として、RTOSが複数タスク間優先制御を行うセマフォ/ミューテックス/イベントフラグなど、また、タスク間通信を行うメッセージバッファ/メールボックスなどのRTOS独自機能を、開発タスクに組込む必要があります。

関連投稿:RTOS習得

移植性や独立性が高い開発済タスクは、ベアメタル比、ソフトウェア資産として他プロジェクトへもそのまま使えるメリットがあります。また、ソフトウェア規模が大きく、複数開発者で共同開発する時も、機能完全分離RTOS開発の方が優れると言われます。

スタンドアロンMCU:ポーリングベースベアメタル開発

RTOSが行う周辺回路の割込み処理や優先制御を、全てユーザが行うのがベアメタル開発です。

但し、デバッグや処理開発のし易さを考慮すると、ポーリングベース開発をお勧めします。

つまり、周辺回路の割込みフラグを、一旦、割込み処理待ちフラグへ置換え、この割込み処理待ちフラグをポーリングすることで処理を実行する方法です。割込み処理待ちフラグは、RAMへ展開されますので、開発処理もRAMフラグで制御でき、割込みを直接扱うよりも単体デバッグが容易になります。

ベアメタル開発は、単体デバッグ済みの複数処理を、MCU全体で上手く実行する制御部分も必要です。弊社ベアメタルMCUテンプレート英語版MCUテンプレートは、この制御部分を提供します。

サンプルコード活用プロトタイプ開発

サンプルコード活用プロトタイプ開発
サンプルコード活用プロトタイプ開発

RTOSはタスク、ベアメタルは周辺回路制御のソフトウェア開発が必要です。

但し、ベンダは、周辺回路制御の参考となるソフトウェアを、サンプルコードとしてMCU評価ボードと共に提供します。サンプルコードは、ベンダ専門家が開発した評価ボード動作確認済み高品質コードですので、これをユーザが利用しない手はありません。

現在サンプルコードは、ベアメタル用のものが殆どです。しかし、RTOSタスク開発へも応用できます。サンプルを上手く利用することで、0から開発するよりも、短時間でソフトウェア開発ができます。

また、評価ボードMCU周りの部品配置やアートワーク配線は、処理性能過不足時のMCU交換や耐ノイズ性が高いハードウェア開発の参考書になります。

MCU開発を高品質・短期間で行うには、サンプルコードとMCU評価ボードを活用し、製品プロトタイプ開発がお勧めです。プロトタイプから製品へフィードバックをかければ、より良い製品化が可能です。

Afterword:ベアメタル開発からRTOSへステップアップ

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

Windowsアプリ開発時は、Windows APIの利用は当たり前です。多くの解説書もあります。

IoT MCU開発時も、FreeRTOSやAzure RTOSが当然になると思います。ただMCU開発には解説書が少なく、その理解には基礎知識が必要です。基礎がグラつくと、その上の積み重ねは非常に困難です。

MCU開発の基礎は、ベアメタル開発です。IoT普及でRTOS MCU開発も増えます。IoTに向けてRTOSを勉強しようと考える方も多いと思います。その場合は、ベアメタル開発の何をRTOSが代行し、何が得られ、何を失うか、RTOSオーバーヘッドはどの程度かを考えながら学習すると、より効率的にRTOS習得ができます。

例えば、RTOS開発には、セマフォやミューテックスなどのベアメタル開発に無い多くのRTOS機能を新に学ぶ必要があります。しかし、よく使う機能は少数です。ご自分のベアメタル手法を代行するRTOS機能から学び始め、それでも足りない機能はRTOS側に用意されていますので、順次増やしながらタスクを開発して行くと良いと思います。

ソフトウェア開発は、AI Copilot出現で激変への過渡期です。数年後には、ライブラリ組み換え作業などへ開発が変わり、不足がちなMCU開発解説もAIが代行してくれるかもしれません。

そんな全能AI過渡期でも、ご自分自身で獲得した基礎の重要性は、変わらないと筆者は考えます。


RA用FSP v5.0.0 e2 studio 2023-10リリース

2023年10月28日、RA用FSP v5.0.0同梱e2 studio 2023-10がGitHubからリリースされました。FSP、e2 studioどちらも最新版です。また、10月16日に18年ぶりにバージョン5となったMCU開発必須ツール:Tera Term 5.0も、GitHubにあります。

本稿は、これらソフトウェアダウンロード先(=repository)のGitHubについて説明します。

また、GitHub公開の最新FSP v5.0.0、e2 studio 2023-10、Tera Term 5.0を使った評価ボード動作例も示します。

※今週金曜は、休日(文化の日)のため、木曜に先行投稿しています。

GitHub主要3機能

GitのWebサービス版がGitHubです。※Hubは、集約点という意味。

Gitは、Linux上で「複数ソフトウェア開発者」向けの支援ツールです。複数開発者が、1つのプロジェクトを、別々の場所・作業時間で共同開発する時に便利な機能を提供します。

Gitの主要機能が、フォーク、プルリクエスト、マージの3つです。

フォーク(=派生)は、レポジトリソースコードを派生利用し、別ソフトウェアを開発する際に、オリジナルコード所有者へ通知する機能です。

プルリクエストは、レポジトリソースコードの変更を、プロジェクト開発者へ通知、マージは、プルリクエストを受けた開発者が、変更を承認するか否かの通知機能です。承認時は、変更コードがプロジェクトへマージ(=統合)されます。

Linuxツールですので、CUI(キャラクタ ユーザ インタフェース)です。複数開発者が、地球上の離れた場所・作業時間であっても、ソフトウェア開発が上手くできる仕組みをGitが持つことが判ります。

また、ソースコードをレビューするコミュニティもあります。質の高いコード作成に役立つそうです。このコミュニティに、AI活用が最近話題です。AIを使わない時と比べ、開発速度57%、タスク完遂率27%上昇など驚きの効果が報告されています。

これらGit機能を、クラウドで提供するのが、GitHubです。2023年のユーザ数は、1億人突破だそうです(Wikipediaより)。

参考資料:GitHubとは? Digital Business Sherpa (2023-08-02)

GitHubソフトウェア公開機能

GitHubのもう1つの機能が、ソフトウェア公開です。この例が、最初に示したRA用FSP v5.0.0同梱e2 studio 2023-10やTera Term 5のリリースです。

exeファイルが直接ダウンロードできます。zipファイルダウンロードが主流のWindowsと異なる点です。

最新版RA用FSP 5.0.0 with e2 studio 2023-10のGitHubレポジトリ
最新版RA用FSP 5.0.0 with e2 studio 2023-10のGitHubレポジトリ

Latestアイコンが最新版を示します。Release Notes内にダウンロードリンク、下方にあるAssetsが、実際の公開ファイルを示します。

Summary:ワールドワイド開発標準ツールGitHub

筆者は、 パーティションもない大部屋で近隣同僚と、または、1人でソフトウェア開発をしてきました。Git主要3機能は、口頭で同僚へ伝えるか、1人開発時は不要でしたので、実際にGitHub活用経験はありません。

しかし、ワールドワイドやリモートワークでの複数人ソフトウェア開発時は、GitHubが標準ツールです。普段はソフトウェアダウンロード先としてGitHubを利用している開発者も、その仕組みを知っていると今後役立つと思います。

Afterword:RA用FSP 5.0.0 with e2 studio 2023-10 & Tera Term 5動作

GitHub公開のRA用FSP v5.0.0、e2 studio 2023-10とTera Term 5を使ったFPB-RA6E1評価ボード動作例です。接続は、コチラの投稿と同じです。

RA用FSP 5.0.0 with e2 studio 2023-10とTera Term 5.0動作例
RA用FSP 5.0.0 with e2 studio 2023-10とTera Term 5.0動作例

インストールダイアログに従っていれば、従来版からのアップグレードも問題ありません。

RA用FSP v5.0.0同梱e2 studio 2023-10リリースが、他のルネサスMCUファミリのFSP v5.0.0やe2 studio 2023-10リリースより遅れるのは、 RA専用FSP同梱e2 studioのGitHubマージ作業のためと思います。

※ルネサス他MCUファミリは、FSP、e2 studioそれぞれ個別リリース。

リリースが遅れても、RAファミリ統合開発環境を、だれでも簡単に構築できるメリットを優先したためでしょう。