効率的MCU開発ディスプレイサイズ

MCU開発Eclipse IDE画面の表示情報量は多く、ディスプレイサイズや解像度が小さいと非効率です。効率的MCU開発ディスプレイサイズと解像度を検討し、Windows 11ノートPCに適したディスプレイサイズと要件を考察しました。

Eclipse IDE表示情報

Eclipse IDEとしてNXP社のMCUXpresso IDE 11.6.0を例にします。IoT MCU開発時は、どのViewにも重要な情報が表示されます。

例えば、上から解像度(1920×1080)、(1920×1200)、(2560×1440)、(3840×2160、150%テキスト表示)4つの表示例です。どれも筆者が頻繁に利用するネットカフェの同じ31.5型4Kディスプレイを用いました。

ちなみに、(1920×1080)が弊社所有14型ノートPC、(1920×1200)が24型デスクPCの表示サイズです。

解像度が大きくなると、各Viewへ一度に表示できる情報量が増えることが判ります。

1920x1080_100%のIDE View表示例
1920x1080_100%のIDE View表示例
1920x1200_100%のIDE View表示例
1920x1200_100%のIDE View表示例
2560x1440 100%のIDE View表示例
2560×1440 100%のIDE View表示例
3840x2160_150%のIDE View表示例
3840x2160_150%のIDE View表示例

ディスプレイサイズとテキスト表示サイズ

各Viewのタブをクリックすれば、そのViewだけを表示できます。ソースコード記述時など1点だけに集中する時は、この方法も使います。

しかし、多くの場合、複数Viewを参照しながら作業を行います。大きいディスプレイへ複数Viewを表示しながら作業する方が、効率的に開発が進むのは明らかです。

その結果、弊社は、14型ノートPCは主に確認用、24型デスクPCが開発用となります(ノートPCのマルチディスプレイ利用は次章説明)。

では、ディスプレイサイズが大きければ大きい程効率的かというと、そうでもありません。筆者の場合は、24型~27型位に最適値があります。

ディスプレイと目の距離を40cmとすると、27型よりも大きい31.5型ディスプレイは、圧迫感があるためです。また、テキスト表示サイズも150%へ変更しないと、小さすぎます。

100%テキスト表示で、A4用紙が実物と同じ大きさに表示されるのは、24型です。

つまり、24型~27型で40cm配置に、MCU開発効率が良いディスプレイ選択肢がありそうです。この時は、テキスト表示サイズは、100%でOKです。

ディスプレイと目の距離は、ノートPC、デスクPCどちらも同じ40cm以上(出展:富士通パソコンを使う時の姿勢)
ディスプレイと目の距離は、ノートPC、デスクPCどちらも同じ40cm以上(出展:富士通パソコンを使う時の姿勢)

効率的MCU開発のWindows 11ノートPC要件

ノートPCには、可搬性が求められます。ノートPCディスプレイに、14型や15.6型を用いるのは可搬性実現のためです。

しかし、ディスプレイ外枠を極力少なくし、16型や17型でも従来ノートPCに近い筐体を実現するノートPCも最近発売中です。

また、ノートPCは、マルチディスプレイでの使い方が前提です。Windows 11では、このマルチディスプレイ操作性が改善されました。

外付けマルチディスプレイの左右上下物理配置に応じた本体ディスプレイ1との再配置が可能です。ディスプレイ間のマウス移動時、違和感が旧Windowsに比べ無くなりました。さらに、外付けディスプレイの大きさを自動認識し、大きいディスプレイをメインとするタスクバー配置も行います。

Windows 11は、マルチディスプレイ上下左右配置に応じ再配置可能
Windows 11は、マルチディスプレイ上下左右配置に応じ再配置可能

従って、効率的MCU開発のWindows 11ノートPC要件は、

(1) 可搬性を犠牲にしない範囲で、できるだけ大きい本体ディスプレイ
(2) MCU開発効率の良い100%テキスト表示24型~27型マルチディスプレイ出力インタフェース

これら2つになります。

また、ノートPC本体ディスプレイと、外付けマルチディスプレイとの目の距離は同じ方が良いはずです。もし、外付けディスプレイとの距離が40cmよりも遠い場合には、27型よりも大型のディスプレイと100%よりも大きなテキスト表示が必要になります。

つまり、4K大型高解像度ディスプレイは、この外付けディスプレイの配置が、40cm以上遠くに設置した時の対応策が予め機能として備わっていると考えられます。

まとめ

効率的なMCU開発に適したWindows 11ノートPCディスプレイサイズを検討し、16型ディスプレイ、マルチディスプレイ出力インタフェース1本、の必須要件を示しました。

具体的な製品例を示すと、DELL)Inspiron 16 Intel(1920×1200、Core i7-1255U)、余裕があれば高性能CPU搭載のDELL)Inspiron 16 Plus プラチナ(3072×1920、Core i7-12700H)などです。

DELL)Inspiron 16 Plus プラチナ(3072x1920、Core i7-12700H)
DELL)Inspiron 16 Plus プラチナ(3072×1920、Core i7-12700H)

あとがき

本稿は、MCU開発ノートPCに焦点を絞っています。また、マルチディスプレイと言っても、外付けは1台だけです。このサイズが大きい外付けがメインディスプレイで、ノートPC本体は、補佐的な表示になります。やはり、大きなディスプレイは、開発効率化に直結します。

その結果、外付けディスプレイ2を、目から40cm距離の最適正面へ配置、ノートPC本体ディスプレイ1は、ディスプレイ2の左右、つまり脇役配置になります。

最近、低価格化が進む4K大型ディスプレイやノートPC(円安で価格上昇中)に、どの程度コストをかけるべきか、これは筆者個人の問題です。その問題解決・整理のために、本稿を作成しました。

もちろん、解像度が上がれば表示文字も綺麗に見易くなります。しかし、ネットカフェで31.5型3840×2160 150%テキスト表示ディスプレイを40cm位置で利用しMCU開発を何回か行った結果、4K大型ディスプレイ追加コストに見合うMCU開発効率化は得にくいと現状は思いました。

メタバース空間でWordやExcelが使え、MCU開発業務もVR空間でできることも、そう先の未来ではないかもしれません。それでも、ここ数年は、本稿結果が活きるはずです。

RAファミリprintfデバッグ3方法

ルネサス公式RAファミリ開発お役立ち情報ページがあります。本稿は、このページの中から、ソースコードを変更せずにprintfデバッグができるDymanic Printfを説明し、他の2方法と比較します。

Dynamic Printfの設定方法
Dynamic Printfの設定方法

printfデバッグ2方法

ソースコード変数値を出力し、デバッグする方法をprintfデバッグと呼びます。RAファミリ評価ボードにも、printfデバッグを容易にするツールや、外部ハードウェア(USART-USB変換)が実装済みのものもあります。

例えば、RAファミリのPFB-RA6E1(Cortex-M33/200MHz)、FPB-RA4E1(Cortex-M33/100MHz)の場合は、SEGGER J-Linkエミュレータサーキット経由でprintfデバッグできる無償J-Link RTT ViewerをPCへ追加すると、変数やユーザへの説明がPCへ出力できます。

競合他社の例では、STM32G071RBLPCXpresso54114などは、評価ボードプログラミングとUSART-USBレベル変換機能を兼ねたハードウェアが実装済みのため、これを利用してVirtual COM経由でprintfデバッグが可能です。この場合も、Tera TermなどのPCコンソール表示フリーウェアが追加で必要になります。

Dynamic Printf

Dynamic Printfの特徴は、J-Link RTT ViewerやTera TermなどのPC追加ソフトウェア不要、e2studioなどEclipse IDEのDebug Console Viewへ、printfフォーマット変数数値を直接出力できることです。

Debug Console Viewへの出力設定は別途必要(Dynamic Printf動画30秒付近)ですが、前述のデバッグ2方法と比べると、ソースコードの記述変更も不要です。

Dynamic Printfは、ブレークポイントの一種です。一旦プログラムを停止し、設定変数をDebug Consoleへ出力後、自動的にプログラムを再開します。

例えば、センサAD変換値をDebug Consoleへ連続出力し、正常動作を確認する時などに重宝します。

RAファミリprintf 3方法まとめ

printf方法 J-Link RTT Viewer Virtual COM Dynamic Printf
ソースコード
記述例
APP_PRINT(“\r\n> Current FSP version is v%d.%d.%d.”, version.major, version.minor, version.patch); VcomSndMsg(uint8_t *String, uint32_t Size); 不要
(Debug Console設定要)
追加ソフトウェア J-Link RTT Viewer
SEGGER_RTT
common_utlils.h
Tera Term 不要
追加ハードウェア 不要 TTL-USBレベル変換要 不要
特徴 手軽にPC出力可能
色付き出力不可
競合他社標準PC出力
色付き出力可能
ソースコード不変
変数連続出力容易
出力例 J-Link RTT Viewer出力例 Virtual COM出力例 Dynamic Printf出力例

RAファミリ評価ボードのprintfデバッグに使える3方法を説明、特徴などをまとめました。

printfデバッグは、デバッグの最も基本テクニックです。確認したい変数出力だけでなく、プログラムや操作方法の説明出力などにも使います。

Virtual COMの方法は、Tera Term追加が必要ですが一般的なMCU開発でよく用います。

J-Link RTT Viewerの方法は、TTL-USBレベル変換非搭載の低価格RAファミリ評価ボードで使います。

Dynamic Printfは、Eclipse IDE搭載機能です。ブレークポイントを設定し、変数のprintfフォーマット出力後、自動的に再実行します。センサAD変換値を連続表示する時など、ソースコード変更なしに手軽に変数出力とセンサ動作確認できるので便利です。

最初に示したルネサス公式RAファミリ情報ページには、本稿printf以外にも多くのTipsが掲載中です。説明や動画が短く纏まっているので、隙間時間のチェックに都合が良く、開発ヒントも得られます。

Windows重要パラメタ

Windows 11無償アップグレード変更の可能性
Windows 11無償アップグレード変更の可能性

現時点でWindows ユーザが押さえておくべき重要パラメタ、お役立ちツールをまとめました。

参考にしたのは、2022年9月23日PC Watch記事:“Windows 11へのアップグレードはいつまで無料?”、窓の杜記事:“「Windows 11 2022 Update」のサポートは基本2年” などです。

Windows重要パラメタ

項目 Windows 11 22H2 Pro/Home Windows 10
サポート終了
(残りサポート期間)
2024年10月14日
(約2年)
2025年10月14日
(約3年)
大規模アップデート 年1回(今年9月21日済み) 年1回(今年10月予定)
小規模月例アップデート 第2水曜(日本時間)は適用必須、その他は月数回、適用任意
Win11無償アップグレード 2022年10月5日以降、無償アップグレード変更の可能性あり
Windows 12 3年毎の新Windows開発、2024年リリースの可能性あり

重要パラメタ説明とWindowsユーザお勧めアクション

Win10からWin11無償アップグレードが、今年10月5日以降変更の可能性がある点は、注意が必要です。これは、Microsoftが今年5月20日、公式発表済み(4.アップグレードQ&A参照)です。

Win11無償アップグレードが、10月5日に即日終了にはならないと思います。それでも、現行の無償アップグレードが、Microsoftビジネスの都合でいつ有償に変っても不思議ではありません。

また、9月21日に大型更新された最新Win11 22H2でも、途中、年1回の大規模アップデートを含む2024年10月14日までの約2年サポートです。つまり、ユーザがアップグレードを遅らせると、その分だけ残りサポート期間も短くなる訳です。

大・小アップデートが適用できるのは、サポート期間中のみです。期間を過ぎると、セキュリティや不具合対策がインストールできず、安心・安全なWindowsになりません。例えると、「賞味期限切れの食品」です。

Win11 22H2に追加された新機能の評価は、様々です。普通のWin10ユーザなら、新機能を全く知らなくても2021年のWin11 21H2よりも安定した最新Win11 22H2を、大きな違和感なく使えると思います。

3年毎の新Windows開発と、それに基づいた2024年Win12リリース情報もMicrosoftにはあります。

これらWindowsパラメタ状況から、Win10継続利用の必要がないユーザは、無償期間内に「早期Win11 22H2アップグレート」をお勧めします。

Windowsお役立ちツール

名称 機能
Rufus 3.20 ISOイメージファイルのUSBインストールメディア変換
Win11アップグレードツールMediaCreationTool代用
Winaero Tweaker-1.40.0.0 メニュー表示やタスクバー位置(上/下)変更ツール
Open-Shell-Menu スタートメニューカスタマイズツール

Win11アップグレード要件を満たさないPCのアップグレード対策、Win11の新しいGUIを改善したいユーザには、上記Windowsツールをお勧めします(詳細は、次章の前投稿内容を参照してください)。

弊社全PC Windows 11 22H2アップグレード完了

Windows11無償アップグレード完了
Windows11無償アップグレード完了

前投稿で、弊社所有3PC全てをWin11 22H2で運用できる目途が立ちました。

そこで、23日(金)からの3連休中に、お勧めしたユーザアクションを弊社全PCへ適用し、Win11 22H2へのアップグレードを完了しました。2PCは、Win11アップグレード要件を満たし、1PCは、TPM 2.0要件のみ満たしません。この1PCが、先行Win11 21H2でした。

アップグレード要件を満たす2PC、対、TPM要件を満たさない1PC、これら3PCを同じWin11で運用することにより、PCトラブルや不具合が、差分のTPM起因か否かも明確になるはずです。

現在、3PC共に、Win11 22H2として問題なく動作中です。MCU開発ツールなどのアプリケーション/ツールも正常動作します。

弊社は、今後最新Windows 11 22H2にてPC運用し、IoT MCU開発を続けます。

Windows重要パラメタ深読み?

新発売のPCは、Mac以外、全てWin11搭載です。それでも、景気後退などによりPC売行きが全般的に低下すれば、Win11売上げも下がるでしょう。アップグレード有償化は、Windowsビジネスの売上げ低下打開策です。3年毎の新Widows開発には、資金も必要です。

メタバース普及やCOVID-19の影響で、Office 365やAzureなどのMicrosoftクラウドビジネスの方が、高いROI(Return On Investment)を期待できそうです。

Windowsパラメタは、Microsoftビジネスの変化、今後を物語っているのかもしれません。

あとがき:Win11セキュリティデフォルト強化に注意

弊社は、最新Win11で3PC運用を開始しました。Win11 22H2は、再起動時の変な日本語、“あなたはそこに~ %です”が、普通の日本語に修正され、個人的には嫌いなタスクバー下位置も、だんだん慣れてきました。

Win11 22H2新機能情報は、ネット上に多くあります。操作性に関しては、慣れの問題です。セキュリティに関しては、Win10よりもデフォルト強化されています。アップグレードは、各種設定が引き継がれるはずですが、BitLockerなど要注意です。

アップグレード要件未達PCに、TPM起因トラブル/不具合が判明した時は、Win11からLinux へOSを変えます。IoT MCU開発アプリは、Win/Linux/Macマルチプラットフォーム、OS変更後も開発は継続可能です。アプリクラウド化になれば、ローカルPC OSは、セキュリティブラウザ提供だけです。

本ブログも、Linuxカテゴリを時々投稿します。Linux環境でIoT MCU開発を目指すユーザは、ご覧ください。

Windows 11 22H2大型更新成功

Windows 11 22H2の仕様
Windows 11 22H2の仕様

本稿は、Windows 11 22H2大型更新成功の速報です。

日本時間2022年9月21日、Microsoftは、Windows 11 22H2大型更新を一般公開しました。Windows 11初の大型更新です。弊社先行Win11は、Rufus 3.20を使い今回の大型更新に成功し、正常動作中です。

Win11 21H2 → 22H2

先行Win11 21H2は、TPM 2.0アップグレード要件のみを満たさないWindows 10 21H2 PCでした。

このPCを今年4月15日、Win10アプリケーションとデータ維持のまま、Rufus 3.18を使ってWin11 21H1へ無理やりアップグレードし、Win11として使えるかを3か月間評価しました。

結果は、タスクバー位置に不満が残るものの、GUIカスタマイズツール利用で使用感をかなり改善でき、Win11運用に問題はありません。

残る課題は、このTPM要件未達Win11 21H2が、22H2へ大型更新できるか否かでした。本稿で、この課題も解決しました。

※先行Win11詳細やRufusの使い方は、本稿末の関連投稿リンク参照。

Rufus利用Windows 11 22H2更新方法

最新版Rufus 3.20利用のWin11 21H2から22H2手動大型更新手順が下記です。

Windows 11 22H2手動大型更新手順
準備 ①21H2バックアップ(更新失敗リカバリ対策)
②22H2インストールメディアダウンロード
③Rufusで22H2インストールUSB作成
更新 21H2起動状態でインストールUSB setup実行
②Rufusダイアログに従い数回クリック
③22H2大型更新完了

注意点は、準備②ダウンロードです。Windowsインストールメディア作成からダウンロードする点、DVD作成を選ぶ点です。

WIndow 11 インストールメディア作成でDVD選択
WIndow 11 インストールメディア作成でDVD選択

ダウンロード後、MediaCreationToolの代わりに③Rufusを使ってインストールUSBを作成します。USB作成時のWin11インストールスキップ項目は、全項目にチェックを入れました。

このチェック設定は、お好みで変えてください。全チェックを外すと、MediaCreationTool利用インストールと同じになります。アップグレード要件を満たすPCなら、全チェックを外しても良いでしょう。

また、手動更新のメリットは、ユーザの好きなタイミングで大型更新が開始できることです。

まとめ:Windows 11 22H2大型更新成功速報

Rufus 3.20を利用したTPM要件未達Windows 11 21H2の22H2大型更新に成功しました。Win11初の大型更新も、MediaCreationToolの代わりにRufus を使えば問題なく成功し、正常動作します。

ポイントは、インストール条件が厳しいMicrosoftツール:MediaCreationToolの代わりに、Rufus を使う点です。

Rufus 3.20インストールスキップ項目
Rufus 3.20インストールスキップ項目

今回の成功が、将来も続くかは不明です。しかし、「強力ツール:Rufusのおかげで、多くの要件未達Win10 PC延命が可能」となりました。本Win11 22H2状況は、適宜ブログでレポートします。

弊社残りの2PCは、どちらも厳しいMicrosoft公式Win11アップグレード要件を満たします。本稿の結果、弊社3PC全てをWin11運用できる目途が立ちました。

Windows 11 22H2新しい追加機能は、コチラの記事などを参照ください。

あとがき:Windows 11かLinux Mint

次期Windows 10は、Window 11かLinux Mintか
次期Windows 10は、Window 11かLinux Mintか

正式なWin11アップグレード要件を満たさないPCは、機能追加の少ないWin10のまま2025年10月まで使い続けるか、または、Linux Mintなどの別OSへ載せ替えるかの2択です。Win10サポート終了の2025年10月以降は、別OS搭載かPC廃棄の運命です。

アップグレード要件を満たす/満たさないに関わらずWin10の次期OSとして、先行Win11とLinux Mintの両方を試行した結果、Win11アップグレード運用の可能性が高まりました。理由は、本稿の結果、筆者のWin利用経験が長いこと、ブログ読者にWinユーザ数が圧倒的に多いことの3つです。

ちょっとしたトラブルや不具合の前兆のようなものが、PCには発生します。その発生の検出と対応に長い利用経験が活きます。Linuxの場合、筆者はこの検出の勘が未熟なため、動作異常に至った時は、正常状態へリカバリするよりも簡単な再インストールを活用しました。

Mintは、Winに比べユーザ追加アプリを含む再インストールが簡単な点も、本試行の収穫です。

PCの主要アプリケーションは、マルチプラットフォーム化が進行中です。各ベンダのMCU開発ツールもまた、Win/Linux/Mac対応済みですので、OS依存性はありません。

PC OSは、以上の状況です。アップグレード要件未達PCをWin11にするか、あるいは、Linux Mintにするかの最終決定は、2025年10月の予定です。但し、複数PC運用の都合上、現実解としてはWin11になりそうです。

関連投稿リンク

  • TPM2.0要件未達PCのWin11 21H2強制アップグレード方法
  • Rufusの使い方
  • 強制アップグレードWin11 21H2の3ヶ月使用感
  • ビルド番号差から推測するWin10とWin11機能更新内容
  • Win11タスクバー位置考察
  • Windows代替としてLinux Mintお勧め理由



RA用e2studio 2022-07リリース

2022年8月31日より、FSP v4.0.0同梱RAファミリ最新開発環境e2studio 2022-07が、ダウンロード可能です。

FSP for RA MCU Family, version 4.0.0. (2022/08/31)

FSP同梱インストーラ利用指示

RAファミリはFSP同胞インストーラ利用指示
RAファミリはFSP同梱インストーラ利用指示

RAファミリ以外の単体e2studioバージョンアップは、7月20日でした。

RAファミリのアップデートは、上記リリースノートのようにFSP(Flexible Software Package)同梱インストーラ利用指示があるため、RA用のe2studio 2022-07リリースは、単体から1.5ヶ月遅れの8月31日になりました。同梱インストール理由は、不明です(単体e2studio+単体FSPインストールも可能ですが、指示に従う方がBetter)。

また、e2studio 2022-04以降、Windows 11-64bitに正式対応しました。弊社の先行Win11 21H2も、最新FSP同梱RA用e2studio 2022-07の正常動作確認済みです。

但し、ルネサス半導体セミナーやリリースノート、サンプルコードの説明書きなどは、未だWin10です。

Win11への移設は、今秋予定の22H2発表後でも良いと思います。Win11 22H2は、9月20日リリース情報があります。仮に9月20日なら、次回投稿は、弊社Win11 21H2の22H2大型更新レポートになるでしょう。

Example Project Bundle

RA6E1(左)とRA4E1(右)サンプルコード一覧
RA6E1(左)とRA4E1(右)サンプルコード一覧

弊社推薦RA6/4ファミリ評価ボード:FPB-RA6E1、FPB-RA4E1サンプルコード:FPB-RA6E1/FPB-RA4E1 Example Project Bundleも、最新版がリリースされました(2022/08/11)。

最新Example Project Bundleでも、多くのベアメタルサンプル、FreeRTOSサンプルは1個(下線)、Azure RTOSサンプルは0個です。

Cortex-M33コア採用のRA6/4は、IoT MCUでFSPもRTOS対応済みです。先ずは、ベアメタル開発でFSPに慣れてもらうという意図でしょうか?

RA開発環境まとめ

9月16日時点の最新RA開発環境バージョンアップ状況をまとめたのが下図です。

RA用開発環境のバージョンアップ状況
RA用開発環境のバージョンアップ状況

RA用の開発環境は、FSPバージョン版数が不揃いです。例えば、FSP同梱e2studioのFSP版数は、v4.0.0なのに、最新Example Project BundleのFSP版数は、v3.8.0で1世代前です。

しかし、v3.8.0のExample Project Bundleは、下図のようにFSP ConfigurationのBSPタブで最新FSP version 4.0.0へ変更が可能です。変更後、Generate Project Contentをクリックすれば、FSP v4.0.0でのAPIコードやひな型コードが生成されます。

FSPバージョン変更方法
FSPバージョン変更方法

また、直にIoT MCU RTOS開発を始めたいベアメタル開発経験者には、FreeRTOSやAzure RTOSサンプルコード数が少ないことも問題です。

対策案として、前投稿説明のベアメタルサンプルコードからRTOSコードを自作する方法をお勧めします。

RTOSの目的や機能を教科書から学ぶよりも、自作サンプルコードから理解していくベアメタル起点のRTOS習得方法は、RTOSスキルを磨きベアメタル補完RTOS開発の面白さを知る良い方法だと思います。

FreeRTOS/Azure RTOSソフトウェア開発手法

ルネサス公式センササンプルコードを使って、ベアメタル処理を起点とするRTOS(FreeRTOS/Azure RTOS)ソフトウェア開発手法を説明します。

筆者にしては、長い投稿です。要旨は、「ベアメタル処理+RTOS処理待ち=RTOS処理」です。

ベアメタル処理とFreeRTOSタスク処理並列多重
ベアメタル処理とFreeRTOSタスク処理並列多重

センササンプルコード

  1. FS2012 Sample application – Sample Code
  2. HS300x Sample application – Sample Code
  3. ZMOD4xxx Sample application – Sample Code

説明に用いたセンササンプルコードが、上記3種類です。ダウンロードには、ルネサスのログインが必要です。同一動作のベアメタル/FreeRTOS/Azure RTOS、3個のe2studioプロジェクトが同胞されています。動作MCUは、ルネサス)RA/RX/RE/RL78ファミリです。

サンプルコードマニュアルだけは、下記からログイン不要でダウンロードできます。本稿は、これらマニュアル情報だけで読める工夫をしました。

  1. FS2012 Sample application
  2. HS300x Sample application
  3. ZMOD4xxx Sample application

FS2012がガスフローセンサ、HS300xが湿度・温度センサ、ZMOD4xxxが高性能ガスセンサです。この順番で、サンプルコードが複雑になります。

そこで、焦点を、一番簡単なFS2012サンプルコード、動作MCUをRA6M4(Cortex-M33/200MHz/1MB Flash/256KB RAM)に絞って説明します。他サンプル/MCUでも同様の結果が得られます。

なお、3サンプルコードは、ベアメタルからRTOS開発へステップアップする時にも適したコードです。

センサとMCU間接続:I2C

PMODインタフェースによるセンサボードとMCU接続
PMODインタフェースによるセンサボードとMCU接続

センサとMCU間は、サンプルコード全てPMOD経由のI2C接続です。従って、I2C接続センサのIoT MCU制御例としても応用可能です。FreeRTOSとAzure RTOS、両方に対応した点が便利です。

PMODとは、米Digilent社規定のオープンインタフェース規格です。図示のように、複数センサボードを、レゴブロックのようにMCUへ追加接続できる特徴があります。

ベアメタルとFreeRTOS/Azure RTOSメモリ量

FS2012サンプルコードマニュアルより抜粋した使用メモリ量比較です。

ベアメタル FreeRTOS Azure RTOS
Flash 1065 bytes 1374 bytes 1342 bytes
RAM 73 bytes 249 bytes 246 bytes

RTOSは、ベアメタル比1.3倍のFlash使用量、3.4倍のRAM使用量です。但し、上表にRTOSタスク/スレッドのスタックメモリ量は含みません。

Flash/RAM使用量が増加しますが、RTOS開発ソフトウェア流用性が高まるメリットがあります。これら増加分は、ベアメタル単体処理からRTOSマルチタスク/スレッド処理のオーバーヘッドに相当すると考えて良いでしょう。

マルチタスク/スレッド以外にも、RTOS開発には、クラウド接続/セキュリティ/OTA(Over The Air)処理などのオーバーヘッドが別途必要です。

これら処理のため、IoT MCUは、ベアメタル比、Flash/RAM量の十分な余裕と高速動作が必要になります。

FS2012センサAPI使用方法

FS2012フローセンサの使用APIとその利用手順です。一般的なセンサでも同様で、特に変わった点はありません。

FS2012 APIと利用手順
FS2012 APIと利用手順

ベアメタル処理フロー

RTOS開発の起点となるベアメタル開発の処理フローです。

FS2012のベアメタル処理フロー
FS2012のベアメタル処理フロー

初期設定で、I2Cとセンサを初期化し、無限ループ内で、センサデータ取得と取得データの演算を繰返します。センサデータの連続取得に409.6ms遅延時間が必要であることも判ります。センサデータ取得完了は、センサ割込みを使って検出しています。

このベアメタル処理フローも、特に変わった点はありません。

RTOS処理フロー

ベアメタルと異なる処理だけを橙色抜粋したFreeRTOS処理フローです。

ベアメタル処理とRTOS処理のフロー差分
ベアメタル処理とRTOS処理のフロー差分

差分は、RTOS遅延:vTaskDealy()/tx_thread_sleep()で409.6msと1msが加わる点、vTaskDelete()/tx_thread_delete()でタスク削除する点です。

また、センサ制御本体は、タスク/スレッド記述へ変更し、セマフォにより別タスク/スレッドとの排他制御を行います。

1ms遅延は、別タスク/スレッド切替えに必要です(関連投稿のコチラ、6章コンテキストスイッチ参照)。FS2012サンプルは、タスク/スレッド数が1個なので切替え不要です。

しかし、例えば、HS300xセンサボードを、FS2012センサボードへレゴブロック様式で追加した時は、FS2012センサとHS300xセンサの2タスク/スレッドを、この1msスリープでRTOSが切替えます。

FS2012センサは、ベアメタル処理フローで示したデータ取得間隔に409.6ms遅延処理が必要です。この遅延中に、HS300xセンサのデータ取得を行えば、両タスク/スレッドの効率的な並列多重ができ、これにセマフォ排他制御を用います。

※RTOS遅延処理は、本稿最後の補足説明参照。RTOSメリットが具体的に判ります。

この切替え処理が、本稿最初の図で示したRTOS処理待ちに相当します。その他のRTOS処理フローは、ベアメタル処理と同じです。

つまり、RTOS処理とは、単体のベアメタル処理へ、RTOS処理待ちを加え、複数のベアメタル処理を並列処理化したものです。

数式的に表すと、「ベアメタル処理+RTOS処理待ち=RTOS処理」です。

RTOS(FreeRTOS/Azure RTOS)ソフトウェア開発手法

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

ベアメタル処理を、効率的に複数並列動作させるのがRTOSの目的です。

この目的のため、優先制御や排他、同期制御などの多くの機能がRTOSに備わっています。RTOSの対象は、個々のベアメタル処理です。つまり、ベアメタル開発スキルを起点・基盤としてその上層にRTOS機能がある訳です。

RTOS習得時、多くの機能に目移りします。しかし、本稿最初の図に示したように、RTOSは、複数ベアメタル処理(タスク/スレッド)を、優先度や排他・同期条件に応じて切替え並列多重化します。

逆に、ベアメタル側からRTOSを観ると、セマフォ/Queueなど「RTOSによる処理待ち」がベアメタル無限ループ内に入っただけに見えます。「待ち/解除の制御は、RTOS」が行います。待ち処理の種類が、セマフォ/Queue/イベントフラグ……など様々でも、「ベアメタル側からは単なる待ち」です。

筆者が、RTOS開発の起点はベアメタル処理、とした理由が上記です。

つまり、ベアメタル起点RTOSソフトウェア開発手順は、

1:単体ベアメタル処理開発。単体デバッグ後、タスク/スレッド化。
2:タスク/スレッド無限ループ内へ、RTOS処理待ち挿入。
3:複数タスク/スレッド優先度を検討し、RTOS結合デバッグ。

以上で、RTOSソフトウェア開発ができます。

処理自体は、1でデバッグ済みです。2以降は、効率的RTOS処理待ち挿入と、複数タスク/スレッド間の優先度検討が、主なデバッグ内容です。複数タスク/スレッドが想定通り並列動作すれば、第1段階のRTOSソフトウェア開発は完了です。

スタックメモリ調整やより効率的な待ち処理などのチューニングは、3以降で行います。

RTOS待ち処理は、セマフォやQueueの利用頻度が高いため、RTOS習得もセマフォ/Queueを手始めに、より高度な待ち処理機能(イベントフラグなど)へと順次ステップアップしていけば良いでしょう。

ベアメタル開発経験者が感じるRTOS障壁

ベアメタルは、開発者自身が全ての制御を行います。ところが、RTOS開発では、ソースコード内に、自分以外の第3者:RTOSが制御する部分が混在します。ここが、ベアメタル開発経験者の最初のRTOS違和感、RTOS障壁です。

前章の手法は、1でベアメタル処理を完成すれば、2以降は、RTOS処理のデバッグに集中できます。つまり、既に持っているベアメタルスキルと新しいRTOSスキルを分離できます。これで、最初に感じたRTOS障壁は小さくなります。

また、RTOS障壁は、IoT MCUクラウド接続時の通信処理やセキュリティ処理時に、MCUベアメタル開発経験者に大きく見えます。しかし、これらの処理は、決まった手順で当該ライブラリやAPIを順番に利用すれば良く、一度手順を理解すれば、本当のRTOS障壁にはなりません。

クラウド接続やセキュリティ処理サンプルコードを入手し、各API利用手順の理解後は、これら該当処理の丸ごと流用でも十分に役立ちます。

まとめ:RTOSソフトウェア開発手法

IoT MCU RTOSソフトウェア開発の3分野
IoT MCU RTOSソフトウェア開発の3分野

IoT MCUは、クラウド接続のためRTOS開発になります。IoT MCU RTOS開発は、データ収集、クラウド接続、エッジAIやIoTセキュリティなど、大別すると3分野に及びます(関連投稿:世界最大情報通信技術(ICT)サービス輸出国、アイルランドIoT事情)。

本稿は、センササンプルコードを使い、ベアメタルスキル起点・基盤としたデータ収集分野のRTOSソフトウェア開発手法を説明しました。

1:単体ベアメタル処理開発。単体デバッグ後、タスク/スレッド化。
2:タスク/スレッド無限ループ内へ、RTOS処理待ち挿入。
3:複数タスク/スレッド優先度を検討し、RTOS結合デバッグ。

数式的に示すと、「ベアメタル処理+RTOS処理待ち=RTOS処理」です。

クラウド接続とエッジAI/IoTセキュリティ分野は、決まった手順のRTOSライブラリ活用などが主な開発内容です。従って、この分野は、差別化の努力は不要です。

IoT MCU RTOS開発で、他社差別化できるデータ収集RTOSソフトウェア開発の手法を説明しました。

RAベアメタルテンプレート発売中

RAベアメタルテンプレート概要
RAベアメタルテンプレート概要

2022年5月にRAベアメタルテンプレート(1000円税込)を発売しました。本稿説明のRTOS(FreeRTOS/Azure RTOS)ソフトウェア開発には、ベアメタルスキルが必須です。

RAベアメタルテンプレートにより、開発ツール:FSP(Flexible Software Package)やe2studioの使い方、豊富なベアメタルサンプルコードを活用したベアメタル開発スキルが効率的に得られます。ご購入は、コチラから。

RA版RTOSテンプレート(仮名)は、検討中です。

NXP版FreeRTOSテンプレート発売中

NXP版FreeRTOSテンプレートも発売中です。また、本年度中には、ST版Azure RTOSテンプレートも、開発・発売予定です。

弊社ブログは、RTOS関連も多数掲載済みです。ブログ検索窓に、FreeRTOSやAzure RTOSなどのキーワードを入力すると、関連投稿がピックアップされます。

補足説明:RTOS遅延処理

RTOS遅延処理のvTaskDealy(409.6ms)/tx_thread_sleep(409.6ms)は、他タスク/スレッドの処理有無に関わらず409.6msの遅延時間を生成します。これは、ベアメタル開発者にとっては、夢のようなRTOS APIです。

このようにRTOSは、開発ソフトウェアの独立性・流用性を高めるマルチタスク/スレッド動作を実現し、ベアメタルの補完機能を提供します。

つまり、ベアメタル開発中に、他処理の影響を受けるので開発が難しいと思う部分(例えば、上記遅延処理など)があれば、RTOSのAPI中に解が見つかる可能性があります。

あとがき

長い投稿にお付き合いいただき、ありがとうございました。

ベアメタル開発経験者がRTOS習得・開発を目指す時、サンプルコード以外の情報が多すぎ、途中でくじけそうになります。本稿は、サンプルコードとベアメタルスキルを活かしRTOS開発へステップアップする手法を示しました。RTOSでも、基本はベアメタルスキルです。

RTOSサンプルコードが豊富にあれば、必要情報の絞り込み、RTOSスキル向上も容易です。掲載RTOSサンプルコードは、非常に貴重だと思いましたので、RTOSソフトウェア開発手法としてまとめました。

BitLockerトラブル

Windows Update KB5012170の失敗でBitLocker 48桁回復キー入力が必要となります。入力できない場合、PCアクセス不能となるトラブルが発生します。

2022年8月9日リリースのセキュリティ更新プログラム:KB5012170不具合が原因で、Windows 11 21H1、Windows 10 21H1などが対象です。0x800f0922エラー発生時には、ご注意ください。

BitLocker目的

Windows Update失敗でBitLockerトラブル発生
Windows Update失敗でBitLockerトラブル発生

BitLockerは、PCのハードディスク/USBメモリなどのデータを暗号化します。第三者によるデータ不正アクセス検出時、48桁の回復キー入力が無ければ、PCアクセス不能とする機能です。

BitLockerの目的は、ノートPC紛失時などに、内蔵データ流出や不正コピーを防ぐことです。

Win11では、デフォルトでBitLocker有効に設定済みです。BitLockerは、TPMを前提条件としています。BitLockerにより、10%未満の処理オーバーヘッドが生じます。

48桁回復キー入力に間違いがある場合も、PCアクセス不可能となるでしょう。パスワード3回入力失敗時と同じです。48桁キー、間違いなく入力できる自信、ありますか?

セキュリティとセーフティ

セキュリティとセーフティの違い(出展:STマイクロ)
セキュリティとセーフティの違い(出展:STマイクロ)

Security(セキュリティ)もSafety(セーフティ)、日本語ではどちらも「安全」と訳されます。しかし、本質的に両者は異なります。

STマイクロの資料P4に、解りやすい説明がありましたので、抜粋します。英語では両者は区別します。

・セキュリティ:外部からの攻撃・脅威に対し、デバイスやハードウェア侵害/ハッキングの防衛対策
・セーフティ:デバイスやソフトウェア誤動作・故障などへの障害対策

MCU開発者には、タンパ検出がセキュリティ、フェールセーフ設計がセーフティと言えば判り易いと思います。

セキュリティ誤検出

セキュリティの誤検出
セキュリティの誤検出

今回のBitLockerトラブルは、セキュリティ更新プログラム:KB5012170不具合がそもそもの原因です。

しかし、MicrosoftのBitLocker回復ガイドを見ると、この不具合以外にも、回復キー入力モードになる様々なイベントがあることが判ります。

当然の事ながら、各イベントに誤検出のリスクもあります。セキュティには、誤検出が避けられません。たとえ誤検出であっても、回復キー入力がPC正常復帰に必要となります。

10%未満とはいえ、BitLockerによるPC「オーバーヘッド増加」対「誤検出リスク」、これらを天秤にかける必要があるでしょう。

ノートPC以外の個人占有デスクトップPCなら、BitLocker無効でもOKだと思います。PC盗難には無力ですが…。

IoT MCUクラウド接続

IoT MCUをクラウド接続する際にも、デバイスのUUID(Universally Unique Identifier)や、クラウド接続を許可するやたらに長いデバイス証明書、秘密/公開鍵をMCU Flashへ書込み、それらをクラウドへ送信する必要があります。

これは、IoT MCUのクラウド接続手続きで、通常、初回接続時のみ入力すれば完了です。

それでもクラウド側の何らかのトラブル発生時、または、IoT MCUソフトウェア変更時など、鍵の再入力を求められる可能性はあります。

はたして、この再入力は、誰(顧客/開発側)が行うのでしょうか?

量子技術が公開鍵暗号方式を破る?

米国土安全保障省サイバーセキュリティ・インフラストラクチャセキュリティ庁
米国土安全保障省サイバーセキュリティインフラストラクチャセキュリティ庁

CISA(米国土安全保障省サイバーセキュリティインフラセキュリティ庁)は、今後10年間の量子コンピューティング進歩により、現状の公開鍵暗号方式が破られる可能性を指摘しています(2022年8月30日@IT記事)。

2024年に根本対策としての新しい量子暗号規格の発表があるそうです。現状対策は、鍵を長くすることでしょうか?

まとめ:秘密鍵保存と間違わない再入力

現状の公開鍵方式でセキュリティを維持するには、英大文字/小文字/数字/空白文字/記号から成る長い秘密/公開鍵の保存、入力が必要です。量子コンピューティングにより、キー長は、更に増える可能性もあります。

問題は、長い鍵の保存方法、誤検出などの鍵再入力時に間違わずに入力できるかです。コピー&ペーストが使えればOKですが、紙を見ながら入力は、可能だとしてもミスを招きます。

IoT MCUのようにクラウド接続時に最初1回のみ入力するとしても、誰が、どのイベントで、どのように間違いなく入力できる鍵やデバイス証明書などの機密情報保存方法について、顧客、開発側双方で検討しておく必要があります。

また、顧客は、IoT MCUセキュリティオーバーヘッド量(PCは10%未満)を求めると思います。元々非力なIoT MCUのセキュリティ対コストは、重要事項です。開発側も把握したいパラメタです。

関連投稿

・公開鍵と秘密鍵の役割が判る、組込み開発基本のキ(暗号技術の仕組み

・Windows 11非対応PCのBitLocker
弊社Win11 TPM 2.0非対応PCは、BitLocker未使用です。本稿BitLockerトラブルとは無縁でした。ノートPC持出しもCOVID-19で激減、新規購入Win11ノートPC BitLockerも検討中です。持出し時にのみBitLocker設定も可能ですが、ディスク暗号化処理に結構時間が掛かります。

・今秋Win11 22H2は、大型更新

Windows 11 22H2大型更新

現在のWindows 11 21H2 OSビルド番号は、22000。今秋配布予定Win11 22H2の番号は、22621.xxx。22000番から22621番台へと差分が大きいのは、更新内容が新機能追加などを含む大型更新を示します。

OS ビルド番号

Windows 11(左)と10(右)のOSビルド番号
Windows 11(左)と10(右)のOSビルド番号

Windowsは、エディション、バージョン、OSビルド番号で製品型式を示します。例えば、現製品のWin11/10の仕様が上図です。エディションとバージョンが、一般ユーザに馴染みがあります。

OSビルド番号は、開発者向けの型式で、Win11は、22000番台、Win10は、19000番台のビルド番号で両者を区別します。小数点以下は、リビジョン番号です。同一エディション/バージョン内の軽微な不具合修正、改訂を示しますので、本稿は無視します。

さて、今秋配布の製品リリース前プレビュー段階(Release Preview Channel)のWin11/10ビルド番号は、Win11:22621、Win10:19045です。

Win10が、現製品の19044から19045への僅か1増加に対し、Win11は、22000から22621と増分が大きく、多くの機能変更、修正などが現製品に加わったことが判ります。

このビルド番号差から、今秋のWin11 22H2は、「大型更新」と判ります。

Windows 10新規開発停止

Win10は、2025年10月にサポート終了します。過去のWin10ビルド番号変遷を見ると、2020年春の大型更新以降、マイナ更新を3回繰返していることが判ります。

2019年秋 バージョン1909:ビルド18363(2019年以前は省略)
2020年春 バージョン2004:ビルド19041(大型更新:ビルド差分600以上)
2020年秋 バージョン20H2:ビルド19042(マイナ更新:ビルド差分1)
2021年春 バージョン21H1:ビルド19043(マイナ更新)
2021年秋 バージョン21H2:ビルド19044(マイナ更新)

Windows 10のビルド変遷
Windows 10のビルド変遷

これは、Win10が完成済みを意味する訳では無く、次期Win11へMicrosoftが開発を移行した結果だと考えられます。Win10とWin11は、同じOSコアです。最後のWindowsがWin10を撤回し、新しいWin11リリースが2021年秋であることとも符合します。
※ “新しい” と言ってもOSコアはWin10なので、急場凌ぎの感がありますが…。

つまり、ビルド番号変遷によると、Win10へ機能追加などの新規開発は、事実上2020年頃から停止したことが判ります。

そして、今秋のWin10 22H2ビルドも19045です。更新失敗リスクが少ない「マイナ更新」を繰返し、2025年のサポート終了を迎えるのがシナリオのようです。

Windows 12リリース

Microsoftは、3年毎に新Windows開発、2024年頃のWindows 12リリースが見込まれています。

半導体製造技術の進歩により、PCハードウェア、特にノートPC性能向上は著しいものがあります。Intel 12世代モバイルCPUや、AMD 6000番以降のCPUに顕著です。

COVID-19によるリモートアクセス急増やメタバースへの対応だろうと推測します。ハードウェア高性能化に伴い、当然の事ながらPCソフトウェアも、OSコアの抜本的刷新や更なるセキュリティ強化などが求められます。

2019年のCOVID-19は、PCにも多大な影響を与えたと言えるでしょう。

ビジネスPCは、3年更新が理想的と言われます。3年周期の新Windows開発も、今は納得できます。

Windows 11 22H2大型更新

Win10とOSコア共通のWin11開発着手が、COVID-19後の2020年頃だとすると、新Win11リリースに3年弱、今秋のWin11 22H2が初の大型更新です(※9月20日、22H2リリース情報もあり)。

新Win11リリース時22000のビルド番号が、22621になったことからも、多くの機能追加、変更、修正が加わったと推測できます(詳細はWindows 11 22H2新機能参照、日経BP、2022/07/19)。

Windows 11のビルド変遷
Windows 11のビルド変遷

但し、大型更新には、更新失敗やトラブルが付き物です。

MicrosoftによるWin11 22H2配布を待つか、あるいは、ユーザ手動による更新実行か、いずれにしても大型更新直前にOSバックアップを実行し、トラブル事前準備は忘れずに行いましょう!

まとめ:ビルド番号から見るWindowsとCOVID-19

ビルド番号差から今秋Windows 11 22H2が大型更新であること、Windows 10は、2020年頃から新規開発を停止していること、その代替の新Windows 11 21H2開発に約3年を要したと推測しました。

2019年のCOVID-19が、Microsoft Windows 10の最後Windows宣言撤回や2024年Windows 12リリース、3年周期の新Windows開発、ノートPCハードウェアの急激な性能向上などへ影響を与えたと推測しました。

関連投稿

・Win11/10の大型更新に役立つRufus 3.20の使い方は、コチラ
・アップグレード要件未達Win10のWin11アップグレード方法は、コチラ
・要件未達Win11のアップグレード後3か月状況は、コチラ
・ユーザ手動によるWin10大型更新方法は、コチラ

1GHz 64ビットMPU量産開始

1GHz/64ビットMPU:RZ/A3UL評価ボード構成
1GHz/64ビットMPU:RZ/A3UL評価ボード構成

2022年8月ルネサスは、最大動作周波数1GHz 64ビットMPU、RZ/A3ULの量産を始めました。本プログメインカテゴリのMCU(マイコン)では無く、比較対称のMPU(マイクロプロセッサ)のことです。

より高度なHMI(Human Machine Interface)を実現するためRTOS(FreeRTOS/Azure RTOS)採用、RISC-Vコア搭載機RZ/Fiveとも互換性を持たせる作りです。肥大化するソフトウェア資産流用、活用に重点を置いています。

ところで、2022年8月9日ITmediaのPCとは何だったのか記事の最初のページには、PC(CPU)が16→32→64ビットへと変わった41年の歴史が、23回連載記事タイトルからも判ります(詳細は、連載記事参照)。

本稿で言いたいのは、MCU(マイコン)も近い将来GHzクラス高速化へ向かうだろうと言うことです。

MCU → IoT MCU

未だに8/16ビット機も現役のMCUは、CPU程の紆余曲折や派手さはありませんが、着実に高速・大容量化が進行中です。制御規模が小さく、スタンドアロン処理も可能なMCUなので8/16ビット機でも現役です。

しかし、時代はIoT、全ての制御対象がネットワークに繋がります。OTA(Over The Air)によりセキュリティ更新や、制御ソフトウェア変更もIoT MCUでは可能です。これら処理は、セキュリティライブラリや決まった更新手順で実施されます。

つまり、プリミティブなMCU制御から、よりアプリケーション寄り、場合によってはRTOS前提のIoT MCU制御へ変わらざるを得ない状況になりつつあります。自力でこれらを開発する猛者もいるでしょう。しかし、これらは、本来注力すべき開発差別化部分ではありません。

MCUハードウェア/ソフトウェアともに、市場獲得に向けて他社差別化を狙う部分と、IoTクラウド接続達成部分を、コストパフォーマンス高く共立する、これがIoT MCUの要件です。

CPU/MPU製造技術やソフトウェアのMCU転用は、過去、上記要件の解となってきました。大容量Flash内蔵が前提MCUと、外付けRAM前提CPU/MPUのハードウェア差はありますが、その転用速度は、今後更に早まると思います。

高度なHMIを体験すると元に戻れないように、MCU+クラウド→IoT MCUを顧客が体験すると、元のスタンドアロンMCUには戻れません。

ドライバ → 個別API → HAL API → マルチタスク

IoT MCUソフトウェア開発の変遷
IoT MCUソフトウェア開発の変遷

MCUソフトウェアも、40年前のドライバ開発、20年前のMCU個別API開発、10年前からはMCU共通HAL(Hardware Abstraction Layer) API開発へと変わりました。MCUソフトウェア資産化も、もはや夢ではありません。

開発部分がアプリケーション層に近づけば近づくほど、オーバーヘッドは増えます。オーバーヘッド増大や各種セキュリティライブラリなどの有効活用、RTOS利用によるマルチタスク開発には、IoT MCUの64ビット化、GHzクラス高速化も必然だと思います。

ビット幅増大は、各種巨大ライブラリ流用のためです。ここは32ビットでも十分かもしれません。しかし、高速化は、オーバーヘッド対策や、場合によってはMPU同程度の高度HMI処理、クラウドエッジでのAI処理など、IoT MCU機能実現には必須です。

製造業経済規模 → 縮小中の日本

我々開発者は、前章のIoT MCUソフトウェア開発の変遷を見ただけでもかなりの大変さ、自助努力が開発に必要であることを実感できます。

しかし、日本は、世界の先進国とは異なります。大変さや努力に対し報われることが期待できません。

日本が先進国で唯一、製造業の経済規模が縮小している国という記事や、労働者不足が、COVID-19のせいではないという記事を読むと、その理由と現状が判ります。

世界第2位から降下中の日本
世界第2位から降下中の日本

諸外国の真似をせよという気はありません。が、このままでは気が付けば、後進国になりかねないのが、今の日本です。

今こそ、日本開発者「個人」で変化に対応すべきです。少しずつでも、IoT MCUへ準備を始めませんか?

弊社NXP版FreeRTOSテンプレートは、FreeRTOSプロジェクトと同じ動作のベアメタルプロジェクトも添付済みです。アプリケーションレベルでRTOSとベアメタルを比較しながら技術習得が可能です。是非、ご活用ください。また、ST版Azure RTOSテンプレートも本年度中には開発予定です。

最後は、宣伝となってしまいました。すいません。

Rufusの使い方

今秋のWindows 10/11大型更新と、WindowsからLinux Mint乗り換え検討時に、役立つ最新版Rufus 3.20の使い方を説明します。

Rufus目的

Rufus目的
Rufus目的

Rufusは、OSのISOイメージファイルをUSBインストールメディアへ変換するツールです。CD/DVDを持たないPCへのOSインストール時に使います。OSは、Windows以外にもLinux Mint、UbuntuやDebianなどにも対応しています。

特にWindowsのUSBインストールメディア作成時、Windows 11 TPM回避アップグレードだけでなく、Windows 10プライバシー回避更新などにも対応した最新版Rufus 3.20が、2022年8月3日リリースされました。

手動Windows 10/11大型更新とLinux Mintブートメディア作成に対し、Rufusだけで幅広く対応可能です。

RufusとMicrosoft公式Media Creation Toolの違い

今秋、Windows 10 22H2とWindows 11 22H2大型更新が予定されています。どちらも、Windows Updateでユーザトラブル状況を把握しつつMicrosoftが、段階的にユーザへ大型更新版を配布します。

このいつ始まるか判らない大型更新開始をただ待つより、Media Creation Toolを使ったユーザ主体の手動大型更新を、本ブログではお勧めしてきました(詳細は、投稿末補足説明1参照)。

Microsoft公式のMedia Creation Toolは、更新版Windows ISOイメージファイルをダウンロードし、USBインストールメディアを作成するツールです。Win10/11毎に対応Media Creation Toolは異なります。ダウンロード後、USBを作成せず旧Windowsへ直接上書きインストールすることも可能です。

一方Rufusも、Windows ISOイメージファイルからUSBインストールメディア作成は、Media Creation Toolと同じです。違いは、Media Creation Toolでは必須のアップグレート要件確認や、ローカルアカウントでのセットアップ、プライバシー設定をスキップし、旧Windows設定を保持したまま更新版をインストールできる点です。

つまり、Win11非対応PCアップグレード後3ヶ月投稿の課題、現行Win11 21H2から22H2更新へのTPM対策としてもRufusが役立つ可能性大です。

RufusのWindows 11大型更新スキップ

RufusのWindows 11大型更新スキップ内容
RufusのWindows 11大型更新スキップ内容

Rufus 3.20のWin11大型更新時にスキップできる内容が、上図4項目です。

Win11非対応Win10を強制アップグレードした時に用いたRufus 3.18は、一番上のセキュアブートとTPM 2.0回避項目のみでした(強制アップグレード方法は、投稿末補足説明2参照)。

この項目に加えRufus 3.20では、データ収集、ローカルアカウント、PC利用地域設定などをスキップする項目が追加されました。

RufusのWindows 10大型更新スキップ

RufusのWindows 10大型更新スキップ内容
RufusのWindows 10大型更新スキップ内容

Win10対応となったRufus 3.20のWin10大型更新スキップ項目です。

前章と比べると、TPM以外の項目がWin10更新でも可能になったことが判ります。各項目をスキップすると、煩わしい大型更新時の入力手間が省け、更新スピードアップになるかもしれません。

Linux Mintブードメディア作成

Rufusは、Windows以外のUSBインストールメディア(=ブートメディア)作成にも使えます。

RufusをLinux Mint 21ブートメディア作成に使い、作成済みUSBメディアからPCを起動すると、Windows載せ替えPC上でMint動作が試せるLive Bootが可能です。

Live Boot動作中は変更保存ができませんが、快適にLinux Mintが動作するかを実PCで評価できます。

Win11アップグレートができないWin10 PC代替OS候補として、Mintを検討する場合に便利です。

まとめ

Windows 10/11大型更新時、さらに、WindowsからMint乗り換え検討時に便利なUSBインストールメディア(=ブートメディア)作成ツール:Rufusの使い方を説明しました。

RufusをWindows大型更新に使うと、Microsoft公式Media Creation Toolで行われるWindowsアップグレート要件確認や各種設定をスキップした更新が可能です。

RufusをLinux Mintブートメディア作成に使うと、実機でMint操作を試すLive Bootが可能です。

Rufusだけで弊社使用中PCのOS更新/乗り換え検討に対応する幅広さ、Windows大型更新要件回避やローカルアカウント更新などユーザニーズを満たす機能を持っています。

最後に、いずれの場合でも失敗やトラブルは付き物です。最悪の場合でも、リカバリツールなどでトラブル前に回復できる事前準備は忘れないでください。

さいごに:WindowsかMintか

WindowsかMintか
WindowsかMintか

2024年Windows 12登場の噂もある状況で、次期PC OSがWindowsかLinux Mintかを評価しています。Rufusは、この検討中に便利、「今が旬なツール」です。

Win11タスクバー下固定は好みませんが、これ以外はWin10比、結構気に入った新GUIもあります。

次期OSにMintを採用しても、圧倒的大多数のWinユーザに弊社テンプレートを購入してもらうには、テンプレートのWin動作確認は必須でしょう。弊社としては、MintとWin混在環境は避けたいです。

盆休み中に集中検討しますがノートPC新規調達なども考慮すると、最適解はWin11になりそうです。

補足説明1:手動Win10大型更新方法

・Win10 21H2手動大型更新方法は、コチラ

補足説明2:Win11非対応Win10強制アップグレード方法

・TPM 2.0要件未達Win10を強制的にWin11へアップグレードする方法は、コチラ
・強制アップグレードPCの3か月後の状況は、コチラ

補足説明3:Windows代替OSとしてLinux Mintお勧め理由

・Mintはなぜ良いのかは、コチラ