ネットワーク経由で組み込みソフトのバグを修正する ――後からモジュールを追加できるITRON仕様OSの開発

原田雅章

tag: 組み込み

技術解説 2003年7月28日

 リスト1のTSKID_DEMOは,ユーザが定義したタスクID(識別子)です.μITRON4.0仕様におけるシステム・コンフィグレータは,これらのタスクIDにID値(定数値)を静的に割り当てます.割り当てた値はC言語マクロ・ヘッダ・ファイル(kernel_id.h)に出力されます.一方,本開発のモジュール・コンフィグレータの場合,ロード時の機器の状態で割り当てるID値が異なってくるため,定数値を割り当てることはできません.ID値を格納する変数領域を確保して,ローダ機能内に出力する仕様としました.

 機器で動作するローダ機能は,ロード・モジュールが活性化したときにロード・モジュール構成情報を解釈し,ID値を自動で割り付けるサービス・コールを発行します.このとき割り付けられたID値は前述のモジュール・コンフィグレータが確保した変数領域に格納するものとしました.

 なお,アプケーション・ソフトウェアはこの内部的な差異を意識する必要はありません.つまり,開発初期段階ではベース・モジュール機能として開発していたものを後でロード・モジュール機能として切り出したり,その逆の変更を容易に行えます.

 次に,ロード・モジュールを構成するカーネル資源を外部のロード・モジュールに公開する場合,どのように開発者に記述させるかという課題が残ります.この課題については,後述するシンボルのエクスポート機能を利用してコンフィグレータが確保した変数領域を公開する,という仕様にしました.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日