SOLID概要

インテリジェントローダー

~京都マイクロコンピュータが提供する、次世代のローダー~

【第三回】ローダーの応用例と動作の仕組み

 

(第一回へ)(第二回へ)
最終回となる第三回では、これまでご紹介してきたローダーの応用的な使い方や動作の仕組みについて解説します。また末尾では、インテリジェントローダー開発者からローダーが生まれた背景などもご紹介しています。

ローダーの応用例

バージョン管理もシンプルに効率よく

組込み機器の場合、仕向け先によってプログラムの一部を変更して出荷する事があります。固定のデータ領域にパラメータだけを置き換えるような場合は問題ありませんが、きめ細かい仕向け先対応を行う場合は、プログラムそのものを変更する必要が生じます。
SOLIDを使ってプログラム開発をすれば、図3-1のように仕向け先別に異なるアプリを各々個別に開発し、その後共通部分と組合せて実行が可能です。
このとき、各アプリのプログラムサイズが異なる場合、配置が異なる場合でも問題なく本体アプリから各アプリをロードでき、通常のアプリケーションのデバッグと同様に実機を使ったソースコードデバッグができます。
もちろん拠点毎のアップデートに際しても、当該拠点のアプリだけを改訂すればよいのでソフトウエアのバージョンアップや検証範囲が限定でき、システム全体の管理が大変シンプルに効率よく行えます。

図3-1 仕向け先別にアプリを分けて開発する

このようなモジュール分割開発ができないと、図3-2のように仕向け先のアプリを全て込んでビルドしているケースがあるのではないでしょうか。
これでは全体のプログラムサイズが大きくなりビルド・ロード時間が長くなってしまうばかりでなく、本来は独立で管理できるはずの拠点単位のアプリケーション(アプリA、B・・・)の全てのバージョン組み合わせ管理の必要が生じるなど開発効率があまり良いとは言えません。

図3-2 残念なプログラム配置

(次ページ インテリジェントローダーの仕組み)