SSブログ

_kernel_min_intnoが見つからない! μITRON4.0仕様を使った場合のビルド手順 [HOS]

掲題の様な質問をもらいましたので、あらためて解説したいと思います。
じつはμITRON4.0仕様OSのビルド手順は、仕様書の「2.1.10 システムコンフィギュレーションファイル」の章に詳しく掲載されています。これをHOS-V4とHEW環境での話しをしますね。

まずソフトウエア部品を使わない場合の手順は以下の様になります。
1.コンフィギュレーションファイルの編集
HOSのソース中ではsystem.cfgがコンフィギュレーションファイルです。この名前は予約されています。

2.プリプロセッサでコンフィギュレーションファイルの整形。
この時中間ファイルが生成されます。

3.コンフィギュレーションの実行。
先程の中間ファイルをコンフィギュレータ(hos4cfg.exe)に食わせて、二つのソースファイルを生成します。
一つはkernel_cfg.c、もう一つはkernel_id.hです。この二つのファイルの名前も予約されています。

4.他のソースも含めてコンパイルやアセンブルを行い、オブジェクトファイルの生成。

5.上のオブジェクトファイルとカーネルライブラリをリンカーで結合。

6.実行モジュールの生成です。

※この中でkernel_cfg.cの中に変数kernel_min_intnoが生成されます。
つまりこの手順で処理を行わないと上手く行きません。

なお、ソフトウエア部品のコンフィギュレーションは、1.の前に行っておきます。嘘です。1.と2.の間にソフトウエア部品のコンフィギュレーションを行います。つまりシステムコンフィギュレーションファイルの中に、ソフトウエア部品のオブジェクトに関する記述を行います。

Make一発!でアプリケーションのビルドを行う場合はよいのですが、HEWのプロジェクトにファイルを登録してビルド!となると、一つ問題が発生します。
つまり、kernel_cfg.cとkernel_id.hが手順3.で生成される為に、本当の本当の初期の段階ではこれらファイルが無く、登録出来ないと言う事になります。

そこで、もっともお手軽と思える解決方法は、適当なファイルをでっち上げてしまってください。
例えばエクスプローラの右クリックで新規テキストファイルを生成して、その後ファイル名をkernel_cfg.cとkernel_id.hに変えてしまっても構いません。
1~6の手順でビルドを行う限り、3.の段階でこれらでっち上げたファイルは、本物のファイルで上書きされてしまいます。

※市販のITRON仕様OSだとコンフィギュレーションにGUIを使ったりしますが、実はsystem.cfgファイルを編集してコンフィギュレータに食わせる方法が本道だと判りますね。
Make一発の場合はこちらの方法が親和性が高いですし、system.cfgの編集は、わざわざGUIでやるほど難しくも面倒くさくも無いですから。

逆にコンフィギュレータがコマンドラインで動く方が、様々なIDEツールへの対応をさせ易いです。ITRON本でもカスタムビルドフェーズとして、HEWのビルドフェーズに組み込む方法を提供しています。

ITRONプログラミング入門―H8マイコンとHOSで始める組み込み開発

ITRONプログラミング入門―H8マイコンとHOSで始める組み込み開発

  • 作者: 濱原 和明
  • 出版社/メーカー: オーム社
  • 発売日: 2005/04/25
  • メディア: 単行本



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。