SOLID概要

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

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

【第二回】ローダーの使い方

 

(第一回へ)
第二回目では、SOLIDのAPIを使って具体的に分割ロードする方法をご紹介します。

ローダーを使ったプログラムの作り方

本体アプリとサブアプリに機能分割する

まず通常の分割開発と同様に、機能や目的に応じて開発対象の分割方法を決めます。このときプログラムの基本的な制御を行う部分を「本体アプリ」と定義し、SOLIDで開発します。
本体アプリは、プログラム全体に必ず1つだけ存在するようにし、RTOSカーネルもこの本体アプリ内に配置することをお勧めします。
次にSOLID環境で分割されたアプリケーションである「サブアプリ」を開発します。サブアプリにはSOLIDコアサービスやRTOSを含む必要はありません。またサブアプリの数は0~N個と、柔軟に分割可能です。

シンボルを共有する

本体アプリとサブアプリ間では、通常グローバル変数や関数を共有する必要がありますので、SOLIDにおいても同様の処理が必要です。
SOLIDにおいてシンボルを共有する方法は2つあります。1つはビルド時に共有シンボル定義ファイル(テキストファイル)を参照する方法で、もうひとつはプログラム内にAPIを使って定義する方法です。
まず、グローバル変数や共有する関数名などのシンボル情報を定義します。SOLIDでは、これらのシンボを他のアプリで利用するため、
Exportシンボル:
他のアプリにシンボルを利用させる
Importシンボル:
他のアプリのシンボルを利用する
という2つのAPIを用意しています。
図2-1. では、本体アプリがAPIでExport指定したシンボルをサブアプリ(アプリ1、アプリ2)がテキストファイルとしてビルドにより共有する方法を示しています。

図2-1 本体アプリのシンボルをサブアプリで共有する(テキストファイルを利用)

サブアプリ(アプリ1、アプリ2)が本体アプリのシンボルをImportするには、図2-2.のようにサブアプリ内でImportシンボルAPIを使って直接シンボルを指定することも可能です。

図2-2. 本体アプリのシンボルをサブアプリで共有する(APIを利用)

 (次ページ サブアプリが本体アプリのシンボルを利用する)