GR PEACHへの書き込み方法??

ルネサスのGR PEACHにプログラムを書き込むのにはどんなツールを使えばよいのでしょうか。

やりたいこと、分かっていることは以下の通りです。

・mbedを使わず、e2studioを使って開発したい。(mbedでは書き込めました)

・e2studio+GNU ARMコンパイラでビルドして、.x, .motファイルを作る所までは出来ています。

・ルネサスのフラッシュプログラマーはRZには非対応のようですね。

・IARのツールには書き込み機能があるようですが、無料版のサイズ制限が32KBと小さいので使いたくありません。

わかる方、いらっしゃればよろしくお願いします。

  • objcopy を使用して .x から .bin を生成し、mbed と同様にファイルコピーで GR-PEACH に書き込めば良いのでは?

  • 御回答を頂きありがとうございます。

    すいません、あまり詳しくないもので、objcopyの使い方をもう少し詳しく教えて頂けますでしょうか。

  • わわいです

    DS-5ではセミホスティング機能を使って書き込み用のプログラムを介して書き込みをさせるようになってます

    #この場合もいったんバイナリに変換しての書き込みとなります

    KPITのGCCでもセミホスティングが使えるなら、この手が使えますが、こちらにはJLinkerがないので、できるかどーかはわかりません。。

  • GNU ARM Embedded Toolchain が 例えば C:/Program%20Files%20(x86)/GNU%20Tools%20ARM%20Embedded/5.4%202016q3/ にインストールされていれば C:/Program%20Files%20(x86)/GNU%20Tools%20ARM%20Embedded/5.4%202016q3/share/doc/gcc-arm-none-eabi/html/binutils.html/objcopy.html にマニュアルがあるのでご参照下さい。

    hoge.x から hoge.bin を生成するのであれば

    arm-none-eabi-objcopy -O binary hoge.x hoge.bin
    

    で可能です。

  • mbedのプロジェクトをe2studioにexportする方法が以下に紹介されています。
    こちらの方法も「e2studio+GNU ARMコンパイラ」の環境です。
    ".bin"ファイルも生成されるようになっているので、プロジェクトの設定を比較すると良いかもしれません。

    Exporting to e2studio (Renesasチームサイト)
    https://developer.mbed.org/teams/Renesas/wiki/Exporting-to-e2studio

    export to e2studio 日本語 (RyoheiHagimotoさんサイト)
    https://developer.mbed.org/users/RyoheiHagimoto/notebook/export-to-e2studio-langja/

    mbed オフラインの開発環境
    https://developer.mbed.org/users/MACRUM/notebook/mbed-offline-development/

    もし、「プロジェクト内にmbedライブラリが含まれてもよい」のであれば、exportした環境を元に改造していく方が簡単です。
    (ブート処理などをmbedライブラリにやってもらう)

  • わわいさん

    私もJLinkerを持っていないので、直近では試せ無さそうです・・・。DS-5は今度試してみます。有難うございます。

    fujita nozomuさん

    早速の御回答有難うございます。教えて頂いたコマンドで.xから.binへの変換が出来ました!…が、通常のmbedの書き込みと同じように、エクスプローラーからmbed上に.binファイルを置いてもウンともスンとも言わず….binをのせる前から、元々載っているLチカのプログラムがそのまま動き続けるので、書き込み自体が何かうまく行っていない模様です。通常のmbedだと書き込むとエクスプローラー上でバイナリファイルが見えなくなりますが、それもない(ずっとエクスプローラー上に見える)ようです。

    dkatoさん

    exportしてみました。変換してるのはMakefileのこの部分ですかね…

    arm-none-eabi-objcopy -O binary "mbed_blinky.elf"  "mbed_blinky.bin"

    .xのファイルで同じように試すと確かに.binファイルが出来るのですが、mbedに認識して貰えないようです...export環境改造という手は有り得ると思いますが、中々複雑な構造になっていて、結構骨が折れそうな感じですね。

  • RZ/A1はシリアルフラッシュを内蔵していません。
    そのため、シリアルフラッシュはボード毎に異なり、シリアルフラッシュにアクセスする処理も個別に用意する必要があります。
    GR-PEACHの場合、シリアルフラッシュとのアクセスは"mbed_sf_boot.c"に記載されています。

    mbed_sf_boot.c
    https://developer.mbed.org/users/mbed_official/code/mbed-dev/file/21d94c44109e/targets/cmsis/TARGET_RENESAS/TARGET_RZ_A1H/mbed_sf_boot.c

    "mbed_sf_boot.c"の処理(".boot_loader"セクション)が.binの先頭(アドレス0x18000000)に配置されるようにデータを作成してください。

    # 0x18000000~0x18003FFF "mbed_sf_boot.c"
    # 0x18004000        プログラムの開始アドレス

    以下に、.ldファイルの例(mbedの場合)のリンクを添付します。

    RZA1H.ld
    https://developer.mbed.org/users/mbed_official/code/mbed-dev/file/21d94c44109e/targets/cmsis/TARGET_RENESAS/TARGET_RZ_A1H/TOOLCHAIN_GCC_ARM/RZA1H.ld


    GR-PEACHへのドラック&ドロップによる書き込みは、LPC11U35FHI33/501というチップが行います。
    このチップ内で.binの先頭データを確認しており、"mbed_sf_boot.c"が.binファイルの先頭に無い場合は書き込みが行われません。

    10/11 修正:ソースの参照アドレスをmbedサイトのものに変更しました。

  • dkatoさん

    詳細な説明ありがとう御座います。

    mbedからexportしたプロジェクトをe2studioでビルドして、生成される.binファイルを書き込み、Lチカ出来ることは確認しました。この状態では.binの先頭アドレスは合っているものと思います。このプロジェクト上で、renesasのRZ_R7S72100_LED_SAMPLEをダウンロードするとついてくるコードを入力 (且つインクルードが必要なファイルもコピー)してビルドすると、ビルドは成功するのですが、書き込みをしても、やはり反応しないようでした。やはり少々ハードルが高すぎるようです…GR PEACHをmbed以外で扱うのはもう少し自分のスキルが上がってからにしようと思います。