連投失礼します。
公式hpからRL78G1F_MRSSK_SPM_LESS_120_DIP_CSP_CC_V100をダウンロードしてきて内容を見ています。
プログラムの中で、R_FIX_div_int16という関数が使われていますが、
どこにも関数の内容が書かれていません。
どこにも書いていないのに、どうしてこの関数が使えているのか分かりません。わかる方、教えて下さい。
以下調べた事
・プロジェクト全体を検索しましたが、関数の内容を記述している部分は有りませんでした。
・関数の名前から、掛け算とか割り算とかしているのだと思います。
・ネットでいろいろ調べましたが、fixmath.hというのが関係しているのかと思いましたが、fixmath.hをincludeする記述がありません
・別途ヘッダーを読み込む事が出来るのかと調べましたら、ビルドツールのリンクオプションに「使用するライブラリファイル」という項目がありまして、中身を見ましたが空でした。
開発環境:CS+,
対象マイコン:RL78G1F
ダウンロードプログラム : RL78G1F_MRSSK_SPM_LESS_120_DIP_CSP_CC_V100
プログラム内容: スターターキット(24V Motor Control Evaluation System for RX23T)とRL78G1FのCPUカードを使ってセンサレスモーターを動かすというものです。
回答いただいてから、
新しいプロジェクトを作成して試しましてみました。
ダウンロードしてきたプログラム RL78G1F_MRSSK_SPM_LESS_120_DIP_CSP_CC_V100から、
R_dsp_rl78_CC.libとr_dsp.hをコピーしてきて、ライブラリ関数を使おうとビルドしたら
次のエラーが出てきました。
(E) F0563130 F0563130:Range "mirror" in "C:\Users\a5097429\Documents\itominako\99_temp\temp1_1\DefaultBuild\r_fix_div_int16_rl78.obj" conflicts with that in another file v1.mtpj
ミラー領域がどうとか出てきてエラーになりました。
調べたのですが、どうしてエラーになるのかがわかりません。
わかる方、ご教示お願い致します。
環境
対象マイコン:RL78G1F(R5F11BBC)
NoMaYさん,チョコさん返信ありがとうございます。
NoMaYさんの言われたことをためしてみました。
・CS+のコンパイルオプションやアセンブルオプションをサンプルプログラムに合わせてみましたが、同じエラーでした。
・-mirror_source,-mirror_regionを設定する項目をさがしたのですがありませんでしたので、「その他追加オプション」という項目がありましたので
そこに書き込んでみたのですが、認識されなオプションですとなって、コンパイルできませんでした。
その後、試した事がありまして、
新しいプロジェクト,RL78G1F R5F11BBC(ROM32K, 32pin )と RL78G1F R5F11BLE(ROM64K, 64pin )を作成して、
サンプルプログラムからライブラリをコピーしてきてコンパイルすると、
サンプルプログラムと同じ種類のマイコン(ROM64K, 64pin)のプロジェクトだとコンパイルが通る事を確認しました。
コンパイルオプションは特にさわっていないので、もしかしたらライブラリの中に何か設定があるのかな?と思いました。
チョコさんが言われている様にユーザーズマニュアルでミラー領域を確認しましたら確かに違う事を確認しました。
チョコさんが言われている様に、違う種類のマイコンでライブラリを使っています。(質問にしっかり書くべきでした。)
・ライブラリを初めて使うのですが、ライブラリというものはマイコンの型番に依存するものなのですか?
・依存するのであれば、このライブラリを使うのは不可能なのでしょうか?