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

原田雅章

tag: 組み込み

技術解説 2003年7月28日

●ITRONにおける課題

 従来のITRON仕様OSでは,OSを含むすべてのソフトウェアを一つのオブジェクト・ファイルにリンクしてロード・モジュールを作成していました(図3(a)).この場合,不ぐあい箇所のみを修正したとしてもロード・モジュール全体が修正の影響を受けるので,ソフトウェアをバージョンアップするためには全体を書き換えるしかありません.そこで本開発では,機能ごとにロード・モジュールを分け,ソフトウェアの部分更新や機能追加を実現できるような複数リンク・モデルをITRON仕様OSで実現することから検討を開始しました(図3(b)).

 ベース・モジュールはシステムの基幹機能で,いわゆるOSにあたる部分(カーネルとローダ)です.別の言いかたをすれば,ロード・モジュールを動的に装着するための受け皿です.この性質上,ベース・モジュールは工場出荷時に機器に組み込むのみで,ダウンロードによる更新を行えないものとしました.

 このシステム・モデルでダウンロードのしくみを実現するために,以下のような検討課題がありました.

  • ローディングの基本スキームはどうするか?
  • ロード・モジュールの作成方法は?
  • ロード・モジュール間のシンボル参照方法は?
  • 保護ドメインとロード・モジュールの関係は?
  • カーネル,コンフィグレータにはどのような機能を追加するか?

 以降,それぞれの検討内容について説明します.

f03_01.gif


f03_02.gif
〔図3〕リンク・モデルの異なるシステム構成
(a)のような1リンク・モデルの場合,不ぐあい箇所(この例ではネットワーク・システム)のみを差し替えることは難しい.(b)のような複数リンク・モデルの場合,リンク単位で不ぐあい箇所(この例ではJava仮想マシン・ロード・モジュール)のみ差し替えることが容易となる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日