モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位

TASKs
Joseph Halfmoon

前回はDelayに関するAPIでした。今回はTaskのPriorityを操作してみます。今までPriorityはみんな「1」みたいなテキトーな設定をしてきました。優先順位を設定する実験してみることで勉強になるんでないかい、という目論見。しかし、改めて FreeRTOSConfig.h を読んでみると思っていたのと違う?
“モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位” の続きを読む

モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay

delayApiDiag
Joseph Halfmoon

FreeRTOSにはある期間の間Taskの実行をブロックするDelayの名がつくAPIが3種あります。前回まで一番お手軽なvTaskDelay(引数も一つしかないし)ばかりを使ってきたのですが、今回は3種の違いについて勉強したいと思います。その上で実機上で動かして実感してみると。軽負荷だとあまり差が見えないけれど。

“モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay” の続きを読む

モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue

UNOR4_FreeRTOS_queue_diagram
Joseph Halfmoon

今回はArm Cortex-M4コアのルネサスマイコンRA4M1を搭載したArduino UNO R4上で、FreeRTOSのQueueを使ってみたいと思います。複数のタスク間で安全にデータを受け渡しできる便利な構造です。データの送受ができることは当たり前なので、今回は送受にどのくらいの時間がかかるのだが目安を観察。 “モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue” の続きを読む

モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!

coroutineNOTE
Joseph Halfmoon

ソフトウエアは何時か滅びるとの理に思いはせる今回です。前回、Arduino UNO R4にてFreeRTOSのコルーチン動かしてみました。Configいじったりしてチョイ面倒だったです。しかしFreeRTOSのドキュメントを見たならば Deprecatedと表示がでてました。いつの間に?よく読んでなかった私が悪い。

“モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!” の続きを読む

モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン

ArduinoUNOR4corEC
Joseph Halfmoon

前回はOSタイマ前々回はTask(プリエンプティブな)、並行処理を行う方法はもうお腹一杯な気がしないでもないです。しかし、FreeRTOSにはもう一つあり。CoRoutineです。本格的なTaskが使えるFreeRTOSでわざわざコルーチンする意味があるのか不明ですが、今回は「あるものは使ってみる」ということで。
“モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン” の続きを読む

モダンOSのお砂場(63) UNO R4、ルネサスRA4M1でFreeRTOS、OSタイマ

UNOR4_softtimerA
Joseph Halfmoon

前回まではマルチタスクLチカするのに複数のタスクを作ってました。各タスク毎に遅延時間を指定するというシングルタスク同様の構造です。しかし定周期で何かを実行するというのはRTOS環境下ではアリガチな作業です。FreeRTOSはそのための「軽い」仕組みもしっかり実装されてます。今回はこのTimerタスクを使ってみます。
“モダンOSのお砂場(63) UNO R4、ルネサスRA4M1でFreeRTOS、OSタイマ” の続きを読む

モダンOSのお砂場(62) UNO R4、ルネサスRA4M1でFreeRTOS、タスク生成

FreeRTOS_Arduino
Joseph Halfmoon

Arduino UNO R4登場。ルネサスのArmマイコン搭載。32ビット機なのでArduino IDE環境を使いつつ、FreeRTOSベースで使ってみようかと思います。別シリーズでFreeRTOSでLチカのサンプルコードを動かしているので、今回はその構造のおさらいから。まずはタスク2つ作ってダブルLチカ。ありがち。

“モダンOSのお砂場(62) UNO R4、ルネサスRA4M1でFreeRTOS、タスク生成” の続きを読む

モダンOSのお砂場(61) Keil Studio Cloudへの自動変換、赤でもビルドでき

Nucleo_rtos_training00_EC
Joseph Halfmoon

年末で閉鎖のArm Online Compilerの移行方法の1番手はKeil Studio Cloudへの自動COPYです。COPY成功しても古いAPIを使っていると新しいAPIで動作しているKeil Studio CloudのIDE上はエラーが出る件(けれどビルド可能)、一番ボロボロだったケース、ご参考まで。
“モダンOSのお砂場(61) Keil Studio Cloudへの自動変換、赤でもビルドでき” の続きを読む

モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ

OnlineCompiler
Joseph Halfmoon

2022年末にてArm Online Compilerが閉鎖ということでいろいろ試行錯誤してきましたが、いろいろやりすぎて自分でも分けわからなくなってきました。今回は一度立ち止まり、いままでにやってみたことをまとめてみます。簡単とか難しいとか個人の感想です。また調べ切れてないので間違ったことを書いているかもしれません。 “モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ” の続きを読む

モダンOSのお砂場(59)Keil Studio Cloud、すんなりOS6、ドタバタOS2

T1_RunsonF072RB2
Joseph Halfmoon

2022年末にてArm Online Compilerが閉鎖ということで、第55回から第57回でその移行先を試してみました。今回もその続きです。Mbed OSを載せるにはギリギリのリソースのマイコンで新規プロジェクトをビルドしてみるの回です。Cortex M0、RAM16KBというマイコン2機種でやってみます。

“モダンOSのお砂場(59)Keil Studio Cloud、すんなりOS6、ドタバタOS2” の続きを読む

モダンOSのお砂場(58) Zephyr再び、Windows上でビルド可能にする

RunOK
Joseph Halfmoon

パソコンを更新してから2か月近くもたつのですが未だに旧機種でできていたことの全てはできませぬ。機械的に移設するわけではなく、旧機種で失敗していたところを変更したり、違うやり方を試みたりしているのも一因です。今回は Zephyr RTOSのビルド環境を整え?ました。いろいろ問題あるのだけれどビルドして実行できたのでOK?
“モダンOSのお砂場(58) Zephyr再び、Windows上でビルド可能にする” の続きを読む

モダンOSのお砂場(57) Make-GCC-ARMイクスポート、MbedOS2ようやく成功

NucleoF401RE_MAKE_GCC_OK
Joseph Halfmoon

Mbed Online Compilerの終了にともないKeil Stuido Cloudへ移る以外に、イクスポートしてローカルにビルドする方法もあるぜ、ということでMake-GCC-ARMへのイクスポートを試みてます。前回はMbed OS6のプロジェクトのビルドに成功。今回は古いMbed OS2の場合です。脳筋力業。

“モダンOSのお砂場(57) Make-GCC-ARMイクスポート、MbedOS2ようやく成功” の続きを読む

モダンOSのお砂場(56) Mbed OS6、Make-GCC-ARMイクスポート成功

ExportMakeGCC
Joseph Halfmoon

前回Mbed Online Complierが終了なのでKeil Studio Cloudへ移る以外にオフラインに逃げる方法もあるということでMake-GCC-ARMへのイクスポートをOS2とOS6の両方試したもののコケてました。今回はMbed OS6のプロジェクトのビルドに成功。でも依然としてOS2はダメなのよ~
“モダンOSのお砂場(56) Mbed OS6、Make-GCC-ARMイクスポート成功” の続きを読む

モダンOSのお砂場(55) Mbed Online Compiler 悲しいお知らせ

ExportToolchain
Joseph Halfmoon

『つひに行く道とはかねて聞きしかど昨日今日とは思はざりしを』お世話になってまいりました Web 開発環境 Arm Mbed Online Compiler、本年末をもって終了であります。後継は Keil Studio Cloud。かねて少しずつKeilへの移行を進めてまいりましたが、期限を切られるとあれこれ考えます。

“モダンOSのお砂場(55) Mbed Online Compiler 悲しいお知らせ” の続きを読む