めのん@ひとりプログラミング同好会

このブログはすべてフィクションであり、実在の人物、団体とは一切関係ありません

TOPPERS

Zig版ASP3カーネルのtmevtb_enqueue_reltim

こんにちは、めのんです! 前回から1週間あまり間があいてしまいました。 みなさん、いかがお過ごしでしたでしょうか? 今回見ていくのはdly_tskからよばれていたtmevtb_enqueue_reltim関数です。 サービスコールではなくて、カーネル内部で呼び出している関…

Zig版ASP3カーネルのdly_tsk

こんばんは、めのんです! しばらく間が開いてしまいましたが、Zig版ASP3カーネルの続きを読んでいきたいと思います。 今回はタスク付属同期機能のサービスコールのひとつdly_tskを見ていくことにします。 一応このサービスコールの説明を簡単にしておきます…

Zig版ASP3カーネルのwup_tsk

こんばんは、めのんです! 今日のお昼はタスク付属同期機能のサービスコールslp_tskを見ていきました。 menonfled.hateblo.jp slp_tskはタスクを起床待ち、もっと簡単な言葉を使えば寝かしつけるためのサービスコールでした。 タスクを寝かしつけたままにす…

Zig版ASP3カーネルのslp_tsk

こんにちは、めのんです! 平日になりましたので、今回はいつものようにZig版TOPPERS/ASP3カーネルの話題です。 念のため前回のリンクも貼っておきますね。 menonfled.hateblo.jp 今回見ていくのはタスク付属同期機能の代表的なサービスコールのひとつslp_ts…

Zig版ASP3カーネルのcan_actとter_tsk

こんばんは、めのんです! 今夜は違う話題にしようかとも考えたんですけど、これといったネタがなかったのでいつものようにZig版ASP3カーネルです。 前回はact_tskを見ましたので、今回はある意味それと対になるcan_actを見ていくことにします。 定義はact_t…

Zig版ASP3カーネルのact_tsk

こんにちは、めのんです! 昨夜は久々に違う話題にしましたけど、ここのところずっとZig版TOPPERS/ASP3カーネルの話題を取り上げています。 今回はact_tskというサービスコールを見ていきたいと思います。 念のためact_tskについて少しだけ解説しておきます…

Zig版ASP3カーネルのPrioBitmap

こんにちは、めのんです! 前回はタスクに関する本当にこまごました内容をざっと見ていきました。 今回はその中で登場したレディキューサーチのためのビットマップに使用していたPrioBitmap関数を見ていくことにします。 まずは前回のおさらいで、レディキュ…

Zig版ASP3カーネルのタスクに関するこまごま

こんばんは、めのんです! 前回予告したとおり、今回はタスクに関するこまごました内容を見ていくことにします。 最初は前回も登場したレディキューから見ていくことにしましょう。 /// /// レディキュー /// /// レディキューは,実行できる状態のタスクを…

Zig版ASP3カーネルのTINIBとTCB

おはようございます、めのんです! 前回までで静的APIのCRE_TSKについては一通り目を通しました。 他の静的APIについてもほぼ同じようなことの繰り返しですので、静的APIについてはいったんこれで終わりにします。 今回はCRE_TSKで生成していたタスク初期化…

Zig版ASP3カーネルのtask.cre_task関数

こんばんは、めのんです! 前回は静的APIのCRE_TASKの中をのぞいてみました。 だんだんZigらしいコードが出てきていよいよ面白くなってきましたね。 今回はそのCRE_TSKから呼ばれているtask.cre_task関数を見ていくことにします。 CRE_TSKも本当ならCfgData.…

Zig版ASP3カーネルのCRE_TSKの中

こんにちは、めのんです! 前回予告したとおり、今回は静的APIのひとつCRE_TSKの中を覗いていくことにします。 まずはkernel/static_api.zigにあるCRE_TSKの定義をおさらいしましょう。 // タスクの生成 pub fn CRE_TSK(comptime p_self: *CfgData, comptime…

Zig版ASP3カーネルのT_CTSK

こんばんは、めのんです! お昼の投稿ではCRE_TSKの各引数について見ていきました。 その中の最後の引数ctskの型T_CTSKは結構複雑だったので後回しにしました。 今回はT_CTSKの各フィールドについて、さらに深堀していくことにします。 まずはT_CTSK型の定義…

Zig版ASP3カーネルのCRE_TSK

こんにちは、めのんです! Zig版ASP3カーネルについては木曜日以来ですね。 ずっとこのブログを読んでくださっている方でも、数日間を空けると忘却の彼方かもしれませんのでリンクを貼っておきますね。 menonfled.hateblo.jp 前回は静的APIについてZeig版ASP…

Zig版ASP3カーネルの静的API

こんばんは、めのんです! 今週に入ってからずっとZig版のTOPPERS/ASP3カーネルを読んでいますが、今回は静的APIを見ていきたいと思います。 静的APIというのはコンパイル時に解決されるAPIで、C版ではコンフィギュレータで前処理を行ってCのコードを生成し…

Zig版ASP3カーネルのsns_ker

こんにちは、めのんです! 本当は前回書いてしまおうと思っていたんですけど、長くなったので先送りにしたサービスコールsns_kerを今回は見ていきたいと思います。 大したことはないと思うので今回はすぐ終わると思います(たぶん)。 sns_kerの定義はkernel…

Zig版ASP3カーネルのext_ker

こんにちは、めのんです! 今朝予告したとおり、今回はZig版TOPPERS/ASP3カーネルのサービスコールであるext_kerを見ていくことにします。 前回見ていったsta_kerはカーネルを開始するサービスコールでしたので、それと対になるext_kerはカーネルを終了させ…

Zig版ASP3カーネルのsta_ker

おはようございます、めのんです! 平日はPHPの話題にしようと思っていたのですが、昨日に引き続き今日もZigの話題です。 前回予告した通り今回はsta_kerを見ていくのですが、その前に例外ベクタテーブルを見ておくことにします。 例外ベクタテーブルはスタ…

Zig版ASP3カーネルのスタートアップ

こんにちは、めのんです! 今朝に続いてZig版TOPPERS/ASP3カーネルの話題です。 前回は大まかなディレクトリ構成を見ただけでしたので、今回から本格的にコードを見ていきたいと思います。 何でもそうですが、プログラムのソースコードを読むのは起動直後の…

ASP3で学ぶZig

おはようございます、めのんです! 週末はOpenSiv3D、昨日はPHP、そして今日はZigです。 ほとんど日替わりで違うことをやっていますが、私の仕事は大体そんな感じなんですよ。 複数の案件を並行してやっていますので、日によって違うことをやるのはもちろん…