お世話になっております
e2studioを使用しCC-RXでFlash API for RXを使うと問題なくできました。
そこで試しに、同じファームでGCCを使用し、セクションの設定だけ
CC-RXと同じようにはできないので
RXファミリ フラッシュモジュールFirmware Integration Technology の資料の
「5.3.2 GCC for Renesas RXを使用する場合」を参考にリンカ設定ファイル(linker_script.ld)に追加しました。
それ以外はCC-RXと同じようにしたので問題ないかと思ったのですが、
それでビルドをすると
undefined reference to `R_FLASH_Open()'
このようなエラーが出てしまい困っております。
設定を見直したり、設定を少し変えるなど、いろいろ試してみたのですが解決には至りませんでした。
何か分かる方おりましたら、ご教授願います。
よろしくお願い致します。
わわいさん
回答ありがとうございます
書き方がまずかったです
そのままコンパイラを書き換えたのではなく、
新規にGCCのプロジェクトを作成し、ファームのメインの部分だけファームをコピペしたということです。
わかりにくい文章で申し訳ありません。
わわいです
ってことなら真面目にエラーメッセージを読んでデバッグしましょう
> undefined reference to `R_FLASH_Open()'
R_FLASH_Openという名前の関数が存在しない、とおっしゃってます。
ってことは、ビルドするソースが不足している、か、ライブラリの指定が不足しているか、です。
まずはその関数がどこに定義されてるのかを確認しましょう
ありがとうございます。
もう少し見直してみたいと思います。
ただ、
エラーメッセージを読んで散々考えてたのですが、それでも不明だったので質問していました。
3日あれこれ考えました。
というのも
・CC-RX同様にスマート・コンフィグレータで登録し設定しています。
・「#include "r_flash_rx_if.h"」「#include "r_flash_rx.h"」「#include "r_flash_fcu.h"」「#include "r_flash_group.h"」このように定義しており、また、プログラム中のR_FLASH_Openを「Ctrl を押しながらマウスの左クリック」をすると、きちんとその定義されているライブラリへ跳び、表示されます。
・また、RXファミリ フラッシュモジュールFirmware Integration Technology の資料を穴が開くほど眺めてみたつもりですが、セクション関係の個所以外は基本CC-RXと同じやり方でいけるようで、CC-RXの方では問題なく出来ています。また、セクションの設定も資料に従い設定しました。
このように定義され、正常に認識しているように見えるのですがビルドすると弾かれるという状況になっており悩んでおりました。