Azure RTOS習得(6):低電力動作
STM32G4評価ボードAzure RTOS低電力動作サンプルコードはStop1モード開始/Run復帰が非動作。両処理を保留(NOP)にし、Azure RTOS低電力動作プロジェクト作成方法と低電力動作の流れを説明。
STM32G4評価ボードAzure RTOS低電力動作サンプルコードはStop1モード開始/Run復帰が非動作。両処理を保留(NOP)にし、Azure RTOS低電力動作プロジェクト作成方法と低電力動作の流れを説明。
Azure RTOSミューテックスとバイナリセマフォ機能をSTM32G0C1E-EV Tx_Thread_Syncサンプルコード流用しSTM32G4評価ボードとArduinoプロトタイプシールドで説明。ミューテックスとバイナリセマフォは同じ。ミューテックスが排他制御に適す。
Azure RTOSメッセージキュー機能をNUCLEO-G0B1RE Tx_Thread_MsgQueueサンプルコード流用しSTM32G4評価ボードとArduinoプロトタイプシールドで説明。複数Q受信処理でメッセージ無し受信中断時はキューイベントチェーンが効果的。
Azure RTOSサンプルコードSTM32CubeMX Configuration流用新規Azure RTOSプロジェクト作成。生成ソースコードのどこに何を追記するかを示した。イベントフラグ機能を追記、サンプルコード同一動作を評価ボードにArduinoプロトタイプシールド追加し確認。
Azure RTOS ThreadXサンプルコード解説。Azure RTOSスレッド間同期イベントフラグ、スレッド優先度、プリエンプション閾値変更解説。効率的Azure RTOS習得に評価ボード+Arduinoプロトタイプシールドを勧めた。
Microsoft公式Azure RTOSサイト利用Azure RTOS習得方針説明。ユーザガイドからAzure RTOSとFreeRTOS状態遷移は異なる、優先度は真逆、スレッド応答性向上プリエンプション閾値機能判明。
AWS/Azure接続MCUは割込みベースRTOSタスク開発。スタンドアロンMCUはポーリングベースベアメタル開発。タスク開発は高移植性の代償に割込みや優先制御解決などのRTOS機能追加必須。ベアメタル開発は単体デバッグ容易なポーリングベースがお勧め。
最新RA開発環境バージョンアップ状況をまとめた。e2studio、FSP同梱e2studio、Example Project BundleのFSPバージョン不揃い。最新FSPバージョンへの変更方法説明。少数RTOSサンプルコード対応にベアメタルサンプルコードからRTOSコード自作を勧めた。
センササンプルコードを使いベアメタルスキル起点IoT MCUデータ収集FreeRTOS/Azure RTOSソフトウェア開発手法説明。1)単体ベアメタル処理開発。単体デバッグ後タスク/スレッド化。2)タスク/スレッド無限ループ内へRTOS処理待ち挿入。3)優先度検討とRTOS結合デバッグ。
RAファミリFreeRTOSキューとセマフォ利用サンプルコード解説。キュー送受とセマフォ取得の3タスク、キューとセマフォ追加後、FSPがタスク毎entry.c生成。ベアメタルとRTOS両方対応FSPが開発の鍵で習得はRAベアメタルテンプレートが適す。