南角先生の組込み講座

【設計しながら学ぶRTOSの基本編】
- 第6回 タスクからRTOSに制御が移る時
こんにちは、南角 です。
前回の宿題から続けましょう。
単方向リストの場合は実装方法によっては挿入時には先頭に挿入して、取り出す時はリストを最後まで辿ります。このたどる時間がリストの要素に左右されます。
続き » - 第5回 TCBの具体的設計とレディキュー その2
こんにちは、南角 です。
個人的な事情で、また少し間が空いてしまいました。申し訳ありません。
最初に前回の宿題を振り返っておきましょう。
続き » - 第4回 TCBの具体的設計とレディキュー
こんにちは、南角 です。
少し間が空いてしまいましたが、具体的なTCBの構造を考えてみましょう。
RTOSにとっては最も重要なデータの一つが、システム内の実行可能なタスクの情報をどのように保持するかです。RTOSはこの実行可能なタスクの中の優先度が最も高いタスクを走らせます。
続き » - 第3回 TCBの設計
こんにちは、南角 です。
前回、タスクの並行性を実現するために重要なデータであるTCB(Task Control Block)の前提を説明しました。
今回はTCBの構造設計に入りたいと思います。
続き » - 第2回 タスクの並行性
こんにちは、南角 です。
新年おめでとうございます。今年もよろしくお願いします。といってもこれが掲載される頃は、新年ははるかに過ぎていますが。
さて今回はまず、並行性を実現するために重要なデータであるTCB(Task Control Block)の設計を行うための前提を説明します。
続き » - 第1回 ガイダンス
こんにちは、南角 です。
さらに新しい展開ということで、6回ほどの予定で記事を掲載することになりました。
今回は少し趣向を変えてRTOSのシステム設計を行いながら、RTOSの内部構造に触れてみたいと思います。引き続きよろしくお願いします。
続き »
【組込みシステム編】
- 第6回 割り込みまとめ
こんにちは、南角 です。
先日NHK BS プレミアムで 「火星 大冒険!〜地球外生命を発見せよ〜 8月NASAの探査機キュリオシティが火星に着陸」 が放送されました。
続き » - 第5回 組込みシステム
こんにちは、南角 です。
前回書いたように、浮動小数点数に関して、まだround や 符号、 メモリ上の形式などの話などが残っていますので、今回はまず符号の話から始めたいと思います。
続き » - 第4回 ビット操作と浮動小数点数、その落とし穴
こんにちは、南角 です。
まず前回の問題からです。
続き » - 第3回 RTOSにおけるISRの実行
こんにちは、南角です。
今回はすこし内容を変えて、実行すべき処理がない時のスケジューラに関して考えてみたいと思います。
続き » - 第2回 CPUに不具合なし?
こんにちは、南角です。
今回は、前回(第1回 パイプラインストール)の課題を解説します。
続き » - 第1回 パイプラインストール
こんにちは、南角です。
前回に続き、「組込みシステム編」ということで6回ほどの予定で記事を掲載することになりました。引き続きよろしくお願いします。
続き »
【RTOS編】
- 第8回 RTOSに求めるもの
こんにちは。 まず前々回の第6回「セマフォによる排他制御」の課題であった、バイナリセマフォしか提供していないRTOSのもとでタスクレベルでカウンティングセマフォを実現するプログラムの例です。
続き » - 第7回 デバイスドライバ
こんにちは。
まず最初に前回の問題の解を考えてみたいところですが、今回も分量が増えそうなので、分量が少ないであろう、次回最終回に回したいと思います。
さて、今回は、通常は組込みソフトウェアの中では最も難しいもののなかの一つとみなされ、おそらくみなさんが最も興味を持っているであろう、デバイスドライバに関する話題です。
続き » - 第6回 セマフォによる排他制御
こんにちは。
前回まではOSの機能を使わないで並行処理を行うプログラム間で排他制御を行う手段に関して述べてきました。
続き » - 第5回 並行処理とソフトウェアによる排他制御
こんにちは。今回は並行性とは切っても切れない排他制御に関して話したいと思います。
改めて説明すると、排他制御とはタスクのように並行動作する複数のプログラムが同じデータにアクセスする場合、同時にそのデータにアクセスしてはならないタイミングがあり、その競合を防ぐことです。
続き » - 第4回 OSの多重化
今回はまず前回の宿題を解説しておきましょう。
組込みの世界ではよくマルチタスクとよばれるプログラムの並行性と、それに伴う排他制御があり、この話をしたいと思っていたのですが、今回もそれ以外の量が増えてしまったため次回に回します。
前回の宿題とは、割り込みハンドラの構造で重要なのは、割り込みが発生した時に実行されていたのがタスクの場合、スケジューラに飛び、それ以外の場合はスケジューラを経由せず割り込まれた場所に直接戻ることです。これはほとんどのRTOSで共通の仕組みです。この理由はなんでしょうか?ということでした。
続き » - 第3回 割り込みとRTOS
こんにちは。今回はソフトウェアによる排他制御の話をする予定でしたが、その前にまずRTOSと割り込みの関係をお話ししたほうがよいと思い予定を変更します。
OSはタスクを並行に動作させる機能を提供しますが、どのようにして実行させるタスクを決定しているのでしょうか?研究ベースではない、実際に製品に使われているほとんどのRTOSは、タスクをどのような順番で走らせるかを決めるスケジューリング方式として、優先度ベースのプリエンプティスケジューリング方式を採用しています。優先度はシステムを動作させる前に決めておく方式で、静的スケジューリングとも呼ばれています。
続き » - 第2回 割り込み
今回はRTOSとも密接に関係し、RTOSを実行させるのに欠くことのできない割り込みの関係の話をしたいと思います。
前回、現実世界の変化にリアルタイム性を保ちつつ対応できることがRTOSの目的であるという話をしました。ではどうやって組込みシステムCPUは外部環境の変化を知ることが出来るのでしょうか?
続き » - 第1回 組込みシステムと並行性
皆様、はじめまして。大阪電気通信大学大学院の南角 茂樹(なんかくしげき)と言います。今回から6回ほどの予定でウィンドリバースクエアに投稿することになりました。よろしくお願いします。最初に私とオペレーティングシステム(OS)やリアルタイムOS(RTOS)との関係を少しお話させてください。
続き »

