本誌2008年8月号のp.143に書かれた手順でサンプル・プログラム(sample1)をコンパイルしようとすると,エラーが出るというご意見をいただきました.追実験をしてみたところ,
RA78K0 error E3210: Segment '@@LCODE' is not exist - ignored
というエラーが出て,確かにリンクができませんでした.
p.141右下で,TR0808\Commonというフォルダから5個のファイルをコピーするように書かれていますが,
Commonフォルダに含まれているRAMAPP.drを使うと上記のようなエラーになります.このエラーへの対処法は二つあります.
(1)エラーの起きないRAMAPP.drを別のフォルダからコピーする
TR0808\commonフォルダにあるRAMAPP.drではなく,TR0808\sample1フォルダの中にあるRAMAPP.drをプロジェクトのフォルダ(特集記事に沿って進めていればC:\78K\sample1)にコピーしてください
(2)プロジェクトに含まれるRAMAPP.drをエラーが起きないよう書き換える
プロジェクト関連ファイルにあるRAMAPP.drを開いて,
MERGE @@LCODE : = IXRAM
と書かれた行の先頭に#(シャープ)をつけてコメントアウトしてください.
#MERGE @@LCODE : = IXRAM
PM のProjectWindowに表示されているプロジェクト関連ファイルをダブル・クリック
すると,RAMAPP.drというファイル名が表示されます.このファイル名をダブル・ク
リックすれば,RAMAPP.drファイルを編集できます.
Commonフォルダに収録されているRAMAPP.drは,ライブラリの使用を前提としたリンク・ディレクティブ・ファイルです.そのため,sample1のようなライブラリを使わないファイルに使おうとすると,必要のないセクションをリンクしようとしてエラーになってしまいます.ROMAPP.drについても,ライブラリを使わない場合は同様のコメントアウトが必要です.
ライブラリを使うプログラムと使わないプログラムの違いについては,p.150~151のAppendixにまとめてあります.詳しくはそちらをご覧ください.
2008/7/15 公開
2008/7/16 一部記述を修正,RAMAPP.drの修正方法を追加
Copyright (C) 2008. Tokushu Denshi Kairo Inc. All Rights Reserved.
Copyright (C) 2008. CQ Publishing Co., Ltd. All Rights Reserved.