EWRL78でライブラリリンク時にリンクエラーになる

テクニカル・ノート 181230J

アーキテクチャ:

RL78

コンポーネント:

linker

更新日:

2019/01/24 7:59

はじめに

RL78での開発において、ライブラリリンク時の注意点について説明します。

解説

RL78はプログラムを作成するときに、コードおよびデータのモデルを指定する必要があります。

コードとデータともにnearまたはfarの指定をする必要があります(nearは64KB領域、farは1MB領域)。

ライブラリと作っているアプリケーションでこのコード/データで使用するメモリモデルが違うと以下のエラーが生成されます。

エラー[Li009]: runtime model conflict: Module sub.o(sub.a) specifies that '__code_model' must be 'far', but module main.o has the value 'near'
エラー[Li009]: runtime model conflict: Module sub.o(sub.a) specifies that '__data_model' must be 'far', but module main.o has the value 'near'

 

[プロジェクト]メニュー>[オプション]>[一般オプション]>[ターゲット]タブにて、「コードモデル」と「データモデル」を適切に設定して下さい。

まとめ

コードおよびデータのメモリモデルの設定が正しくない場合、リンクエラーが発生しますのでご注意ください。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。