チャレンジプログラム
GR-SAKURA
GR-KURUMI
SNShield
Web Compiler
IDE for GR
その他
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
e2studio v3からエクスポートしたGR-SAKURA用のスケッチ環境です。
GNURX 14.01でPATHを通しています。私の場合、”C:\Program Files\KPIT”にインストールしていますので、コンパイラやライブラリのPATH変更が必要になるかもしれません。
すみませんが、エラーが出た場合はコメントに残していただければと思います。
補足: ビルドするとSketchフォルダーにsketch.binが生成されます。なお、E1でのデバッグは試してませんので.xや.motを書き込むとファームが消える可能性があります。
インポート方法はKURUMIの方を参照してください。こちら
回答ありがとうございます。
返信が遅れて申し訳ありません。
結論から申し上げますと、何とか復旧することができました。ご迷惑とお騒がせしたこと、申し訳ありませんでした。そして、詳しいアドバイスなどもしていただいてありがとうございました。
以下、軌跡です。
ここのプロジェクトでも最初はうまくいかなかったので、いったんパソコン本体を再起動し、クリーンを行ってもう一度ビルドをしてできたファイルを転送すると今度は正常に動作してくれました。しかし、自分のプロジェクトでも同じことを行ってもうまく動作してくれませんでした。
ここで、binファイル生成場所を変えているからいけないのか?と思い、ここのプロジェクトと同じように、ワークスペース内に作成してから転送するとうまく動いてくれました。
・・・これは余談で急ぎではないのですが、ビルド後のステップで私のプロジェクトでは
rx-elf-objcopy -O binary "${workspace_loc:/${ProjName}}\Sketch\Rxduino_GR_SAKURA_v1081.x" "E:\GR_Sketch.bin"
のように、あらかじめGR-SAKURAを認識させておいてビルドすると、自動的にSAKURAに転送される設定にしていました。
今回、これが悪さをしていた可能性があるわけですが、あまりよろしくない設定だったのでしょうか?
kyodayukiさん、私の環境で改めて確認しましたが問題なく動くようです。バージョンは同じくVersion: 3.1.3.06でした。
kyodayukiさんのプロジェクトをエクスポートしていただければ解析できますが、まずはcleanしてビルドしていただけますか?
そのときにコンソールにたくさん出力されるメッセージを以下のように貼り付けていただけませんか?
rx-elf-gcc -c -x c++ -w -Wno-analyze -nostdinc -fsigned-char -I"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common" -I"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\include" -I"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_sakura_libs" -I"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01/include" -I"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/rx-elf/include" -I"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\include\rxduino" -I"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\include\tkdnhal" -D__RX_LITTLE_ENDIAN__=1 -O2 -g2 -g -mlittle-endian-data -mcpu=rx600 -o "src/gr_sakura_libs/InstWire.o" "../src/gr_sakura_libs/InstWire.cpp"
'Finished scanning and building: ../src/gr_sakura_libs/InstWire.cpp'
'Invoking: Linker'
'Building target:'
rx-elf-ld ../src/gr_common/gstart.o -M=sakura_sketch_v108_e2studio.map -L"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\lib" -L"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_sakura_libs" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/rx-elf/lib" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01" --start-group -lrxduino -lstdc++ -lsupc++ -lc -lsim -lgcc -lm -ltkdnhal --end-group -nostartfiles --no-flag-mismatch-warnings -o "sakura_sketch_v108_e2studio.x" -T"C:/Users/a5034000/Documents/E2Studio/workspace_v3/sakura_sketch_v108_e2studio\Sketch\LinkerSubCommand.tmp" -T"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\gr_sakura.gsi"
rx-elf-ld: warning: section `.bss' type changed to PROGBITS
'Finished building:'
'Invoking: Objcopy'
rx-elf-objcopy -O srec -I elf32-rx-be-ns sakura_sketch_v108_e2studio.x "sakura_sketch_v108_e2studio.mot"
'Finished building target:'
make --no-print-directory post-build
rx-elf-objcopy -O binary "C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\Sketch\sakura_sketch_v108_e2studio.x" sketch.bin
'Build complete.'
14:51:54 Build Finished (took 3s.42ms)
お世話になっております。
最近またGR-SAKURAを使う機会ができたので久しぶりに動かそうとしたのですが。。。
コンパイル・binファイル生成までは出来たものの、転送してもプログラムが動作しません。
ここに置いてあるプロジェクトでもう一度やってみたのですが、ダメでした。
また、ウェブコンパイラで作成したファイルはきちんと動作してくれました。
確か、前にアップデート通知が来たので内部のアップデート?をしたのですが、e2-studioの内部アップデートなどは関係してきますか?
参考に、現在の環境のバージョンは3.1.3.06です。
よろしければ、確認とこの問題の原因など心当たりがあれば教えていただきたいです。
よろしくお願いします。
よかったです。ご報告ありがとうございます。本当はリンカーのコマンドパターンをカスタマイズできればいいのですが、なんだか空白になっていておかしいんですよね(日本語版だけ)。ご不便をおかけしてすみません。この問題はルネサス側でもシェアしたいと思います。
あ!入りました!
本当に直接的なところに追加するんですね。
おかげさまでうまくビルドできたようです。
いろいろご迷惑をおかけしました。
ありがとうございます。
申し訳ありません・・・追加とは具体的にどのようにすればいいのでしょうか。
ご迷惑をおかけして申し訳ありません・・・
リンカーのコマンドの後ろに以下のようなものを追加していただいてもよろしいですか?
rx-elf-ld ../src/gr_common/gstart.o
オプションはなぜかもともとリンカーのユーザーオプションの方に追加されいました(?)
ただ、いろいろ試行錯誤していたら、いつの間にかコマンドエラーは消えていて、代わりにまた謎のエラーが発生していました・・・
rx-elf-ld -M=sakura_sketch_v108_e2studio.map --no-flag-mismatch-warnings -nostartfiles -L"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_common\lib" -L"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_sakura_libs" -L"C:\PROGRA~2\Renesas\Hew\Tools\KPIT\GNURX-~1\v14.01\rx-ELF/rx-elf/lib/64-bit-double" -L"C:\PROGRA~2\Renesas\Hew\Tools\KPIT\GNURX-~1\v14.01\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01/64-bit-double" --start-group -lrxduino -lstdc++ -lsupc++ -lsim -ltkdnhal -lm -lc -lgcc --end-group -o "sakura_sketch_v108_e2studio.x" -T"C:/Users/Yuki/My Documents/e2_studio/sakura_sketch_v108_e2studio-SPI\Sketch\LinkerSubCommand.tmp" -T"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_common\gr_sakura.gsi"
../src/gr_common/gstart.o: In function `start':
(P+0x4f): undefined reference to `tkdn_hwsetup'
(P+0x6b): undefined reference to `main'
makefile:106: recipe for target 'sakura_sketch_v108_e2studio.x' failed
make: *** [sakura_sketch_v108_e2studio.x] Error 1
自作ライブラリを入れたためリンク順をカスタマイズしていますが、それが原因なのでしょうか・・・
リプライ遅くすみません。変ですね。--no-flag-mismatch-warningsは、リンカーのコマンドでして、私のビルドプロセスでは下記の通りにrx-elf-ldにオプションが付加されます。
rx-elf-ld ../src/gr_common/gstart.o -M=sakura_sketch_v108_e2studio.map -nostartfiles --no-flag-mismatch-warnings -L"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\lib" -L"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_sakura_libs" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/rx-elf/lib" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01" -L"C:\PROGRA~1\KPIT\GNURXV~1.01-\rx-ELF\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01" --start-group -lrxduino -lstdc++ -lsupc++ -lc -lsim -lgcc -lm -ltkdnhal --end-group -o "sakura_sketch_v108_e2studio.x" -T"C:/Users/a5034000/Documents/E2Studio/workspace_v3/sakura_sketch_v108_e2studio\Sketch\LinkerSubCommand.tmp" -T"C:\Users\a5034000\Documents\E2Studio\workspace_v3\sakura_sketch_v108_e2studio\src\gr_common\gr_sakura.gsi"
インポートが失敗しているのか原因が分かりませんが、設定画面で、コンパイラのユーザオプションから当該オプションを削除し、リンカーのユーザオプションに追加していただけますか。
自己解決できたと思ったのですが、解決できておらず同じエラーが発生してしまっています。
このエラーについて、考えられる要因・原因などありますか?
すいません。ただエラーが隠れていただけでした・・・
自分が作ったライブラリを入れてみたのですが、以下のようなエラーが発生してしまいました。
rx-elf-gcc -Wl,-M=sakura_sketch_v108_e2studio.map -nostartfiles --no-flag-mismatch-warnings -L"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_common\lib" -L"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_sakura_libs" -L"C:\PROGRA~2\Renesas\Hew\Tools\KPIT\GNURX-~1\v14.01\rx-ELF/rx-elf/lib" -L"C:\PROGRA~2\Renesas\Hew\Tools\KPIT\GNURX-~1\v14.01\rx-ELF/lib/gcc/rx-elf/4.7-GNURX_v14.01" -Wl,--start-group -lrxduino -lstdc++ -lsupc++ -lsim -ltkdnhal -lm -lc -lgcc -Wl,--end-group -flto -nostartfiles -o "sakura_sketch_v108_e2studio.x" -T"C:/Users/Yuki/My Documents/e2_studio/sakura_sketch_v108_e2studio-SPI\Sketch\LinkerSubCommand.tmp" -T"C:\Users\Yuki\My Documents\e2_studio\sakura_sketch_v108_e2studio-SPI\src\gr_common\gr_sakura.gsi"
rx-elf-gcc: error: unrecognized command line option '--no-flag-mismatch-warnings'
'--no-flag-mismatch-warnings'コマンドがエラーを吐いているのでしょうか?
ご確認ありがとうございます。ご自身で作られたファイルをプロジェクトに入れる場合は、ファイル、またはフォルダごとsrcフォルダにドラッグドロップすればできます。ただフォルダ内にインクルードファイルがある場合、インクルードパスの設定が手動で必要でした(面倒ですね)。あとすみませんが、リンク順をカスタマイズしている関係で追加したファイル(実際はコンパイル後のオブジェクト)のリンク順を上の方に変える必要があるかもしれません。色々とご不便をおかけしてすみませんが、この辺りはもう少し確認したいと思います。
こちらも日本語ですが問題なくビルドすることができました。
PATHはインポート時に自動で変換してくれました。
また、余談ですがこの環境に自分が作ったライブラリ(Arduino同様.cppと.hからなるライブラリです)を導入したいとき
どこを変更すればできますか?
Win7(64bit)にて試してみました。
インポート時に置き換え(Program Files → Program Files(86))が発生しましたが、その他は問題なくビルドできました。
E1デバッグは試していません。