🪸

Ozone で ThreadX のOS管理情報を見る

2023/12/26に公開
1

Ozone とは何か

SEGGER 社の JTAG/SWDデバッグツール J-Link シリーズを購入すれば無償で利用できる デバッガ
往年の HEW のようにサクサク動いて大変良い。
J-link シリーズは Digikey や RS でも買えるが、サポートが欲しければ エンビテック から買おう。

なぜ Ozone を使うのか

現在開発しているプロダクトは Renesus Synergy を使用しており、このマイコンの標準デバッガとして e2 studio が提供されている。
ただこのデバッガは、起動に数分、ビルドに数分、デバッグ開始にもまた数分かかり、控えめに言って地獄である。

この待ち時間に別の仕事をしたとする。
そして一仕事終えてデバッガに帰ってくる頃には「あれ、なんのビルドしてたっけ」のような事がままあって、よけい効率が悪くなる。

どうしたもんかとWebをさまよっていたところ、 Ozone を見つけてこれぞ!!!!となった次第。
J-Link 購入時にエンビテックのサイトやカタログで目にしてたはずだけど、全く記憶になかったのが悔やまれる。

わずかなデメリット

イケてるデバッガ Ozone だが、 Shift-JIS が文字化けするデメリットがある。
色々な事情があって現在開発中のプロダクトは Shift-JIS を採用しており、コメントが読めずにちょっと不便だが、世の流れに逆らって UTF-8 にしてないのが悪い。
甘んじて心の目で見る。

その他デバッガ

Synergy 推奨のデバッガには IAR Embedded Workbench もあるけれど、お安くないし Ozone で大きな不満が無いので試してもない。
昔使った時は快適だった気がするので、 Ozone に我慢できなくなったら試そう。

なお、ARMのデバッガはこれら以外にも いろ いろ あるのでお好みで選ぼう。

ThreadX とは何か

ExpressLogic社が開発し、Mircosoft に買収され、つい先月くらい Eclipse に 移管された RTOS。
Microsoft に買収されてから ドキュメントは充実してきたが Azure との連携などは実態が伴っていなかった ので、どうなるだろうかとヤキモキしてたら Eclipse になってしまった。
AWS の FreeRTOS 対抗馬を目論んでいたように思うが、アテが外れたのだろうか。
一利用者としては OSS を継続してくれてるのでまぁどちらでも。という程度の感想。

それよりも、Renesas Synergy のサポートが継続してくれることのほうが大事。
たのむぞルネサス。

何をなしたいのか

デバッグする際、変数やらメモリマップやらは当然見えるんだけど、OS管理情報も見たい。
OS管理状態と言うのは例えば以下のようなもので、これらが見えるとデバッグがとても楽になる。

  • タスクが RUNNING なのか WAITING なのか
  • メッセージキューは何が出てるのか
  • セマフォやミューテックスの状態などなど

イケてるデバッガ Ozone でも 当然対応してる が、 ThreadX は非対応
これら管理情報はRTOSによってさまざまに異なるので対応してないと、基本的には手が出ない。
困った。

ソフトウェアで困ったら Github を検索しろ

ってじっちゃが言ってたので検索してみると、あった。
https://github.com/fzawadiak/Ozone-ThreadX

しかも Event flag も見れるように改良してくれてる御仁もおられる。

https://github.com/MrHubert1710/Ozone-ThreadX

ご両人に力いっぱいの感謝のスターをお送りさせていただきます!

中身を見てみると

Javascript 200行程度でシンボル名から情報を参照してる程度のようだ。
これなら改造もできそう。

Discussion