なんとかなるさね

マイコンをネタにブログを始めてみました


スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--   blog-entry-   category: スポンサー広告

go page top

Arduino IDE|GadgetRenesas基板用IDE4GR 1.6.5(のようなもの)を作るには? 考え直し中(1) 

これまではGadgetRenesas基板用IDE4GR 1.6.5/1.6.7(のようなもの)を作ってみることを考えていたのですが、
ふと、以前のエントリで試したArduino IDEのボードマネージャのパッケージ情報定義ファイルにウェブ上で
ルネサスが公開しているIDE4GR 0.6.1のzipファイルのURLを記述してみたくなりました。すると、Arduino
IDEのボードマネージャ上でzipファイルのダウンロードと解凍まで行うことが出来ました。更に、解凍された
後のフォルダ構成に合わせる為に少し前のエントリのボード情報定義ファイルを変更して差し替えてみたところ、
ビルドまで行うことが出来ました。このzipファイルにはボードパッケージには必要無いArduino IDEの本体や
Java環境まで含まれていますのでダウンロード時間やディスク容量が余計に必要になりますが、兎にも角にも
pfdlライブラリとPicalicoFreeライブラリおよび全てのファイルが再配布可能なライセンスになっているとは
限らないKPIT GNU Toolchain丸ごと一式を手間を掛けずに使用出来るようになります。ですので、ちょっと
強引なやり方ですが、このやり方を進めてみる手もありそうな気がしてきました。

ファイル名: package_GadgetRenesas_index.json
内容: (emailアドレスは適当に書いたものですので気にしないで下さい。)

{
  "packages": [
    {
      "name": "GadgetRenesas",
      "maintainer": "GadgetRenesas Japan",
      "websiteURL": "http://japan.renesasrulz.com/gr_user_forum_japanese/default.aspx",
      "email": "gr_packages@japan.renesasrulz.com",
      "help": {
        "online": "http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog2/default.aspx"
      },
      "platforms": [
        {
          "name": "GadgetRenesas RL78 Boards",
          "architecture": "rl78",
          "version": "0.1.0",
          "category": "GadgetRenesas",
          "help": {
            "online": "http://tool-cloud2.renesas.com/Renesas/ref_kurumi/gr_reference_j.html"
          },
          "url": "file:c:/upload/gr_platforms_rl78_v0.1.0.zip",
          "archiveFileName": "gr_platforms_rl78_v0.1.0.zip",
          "checksum": "SHA-256:13238E2500266E0CF82F470933A1237D393B9E7314E0FF4E9EF46EA6E08162AA",
          "size": "666333",
          "boards": [
            {
              "name": "GR-KURUMI"
            }
          ],
          "toolsDependencies": [
            {
              "packager": "GadgetRenesas",
              "name": "ide4gr",
              "version": "0.6.1"
            }

          ]
        },
        {
          "name": "GadgetRenesas RX63N Boards",
          "architecture": "rx63n",
          "version": "0.4.0",
          "category": "GadgetRenesas",
          "help": {
            "online": "http://tool-cloud2.renesas.com/Renesas/ref/gr_reference_j.html"
          },
          "url": "file:c:/upload/gr_platforms_rx63n_v0.4.0.zip",
          "archiveFileName": "gr_platforms_rx63n_v0.4.0.zip",
          "checksum": "SHA-256:96CB5E2AC529FDECA4DAB3A25ADD374A37C2C4A7F0DD43605DDD0214E2052169",
          "size": "1710414",
          "boards": [
            {
              "name": "GR-SAKURA"
            }
          ],
          "toolsDependencies": [
            {
              "packager": "GadgetRenesas",
              "name": "ide4gr",
              "version": "0.6.1"
            }

          ]
        }
      ],
      "tools": [
        {
          "name": "ide4gr",
          "version": "0.6.1",
          "systems": [
            {
              "host": "i686-mingw32",
              "url": "http://gadget.renesas.com/ja/product/software/ide4gr-0.6.1-windows.zip",
              "archiveFileName": "ide4gr-0.6.1-windows.zip",
              "checksum": "SHA-256:B0642ED1F17DCC2A725718490BF14EDBEE95E7800BF05C07049D123DB2E6E50B",
              "size": "191131883"
            }
          ]
        }

      ]
    }
  ]
}

Arduino IDEのボードマネージャを使用した後のフォルダ構成


ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\platform.txt
今回の内容(該当部分): 赤字の箇所を追加

# In case of GadgetRenesas, somehow Arduino Eclipse plugin V2.4 needs following define.
# (On the other hand, in case of SAM, the plugin does not need such define.)
# (As a result of updates of this file, following define becomes not to be used.)
#build.system.path={build.core.path}/../../system

# In case of Arduino IDE 1.6.7, {build.path}/{archive_file} is deprecated.
# Fortunately following archive_file_path is overriden by Arduino IDE 1.6.7.
# Both Arduino IDE 1.6.5 and Arduino Eclipse plugin V2.4 need following define.
archive_file_path={build.path}/{archive_file}

# For Arduino IDE internal hardware folder
#runtime.tools.gcc-rl78.path={runtime.ide.path}/hardware/tools/gcc-rl78
#runtime.tools.sys-rl78.path={runtime.ide.path}/hardware/tools/sys-rl78
#runtime.tools.rl78.path={runtime.ide.path}/hardware/tools/rl78

# For external Sketch Book hardware folder
#runtime.tools.gcc-rl78.path={runtime.hardware.path}/tools/gcc-rl78
#runtime.tools.sys-rl78.path={runtime.hardware.path}/tools/sys-rl78
#runtime.tools.rl78.path={runtime.hardware.path}/tools/rl78

# For Board Packages via Arduino Boards Manager (including built-in Board Package)
# nothing to do

# Trial to use the ide4gr-0.6.1-windows.zip written in the package_GadgetRenes_index.json.
runtime.tools.gcc-rl78.path={runtime.tools.ide4gr.path}/hardware/tools/gcc-rl78
#runtime.tools.sys-rl78.path={runtime.tools.ide4gr.path}/hardware/tools/sys-rl78
runtime.tools.rl78.path={runtime.tools.ide4gr.path}/hardware/tools/rl78


途中省略

# These can be overridden in boards.txt of GadgetRenesas
build.core_files=--whole-archive "{archive_file_path}" --no-whole-archive
build.variant_core_lib="{build.variant.path}/core_v060.a"
#build.variant_system_libs="{runtime.tools.sys-rl78.path}/rl78-g1x/proprietary/lib/picalicoFree.a" "{runtime.tools.sys-rl78.path}/rl78-g1x/proprietary/lib/pfdl.a"
#build.variant_system_includes="-I{runtime.tools.sys-rl78.path}/rl78-g1x/proprietary/include"
build.variant_system_libs="{runtime.tools.ide4gr.path}/hardware/arduino/rl78/variants/gr_kurumi/picalicoFree.a" "{runtime.tools.ide4gr.path}/hardware/arduino/rl78/variants/gr_kurumi/pfdl.a"
build.variant_system_includes="-I{runtime.tools.ide4gr.path}/hardware/arduino/rl78/libraries/PicalicoFree" "-I{runtime.tools.ide4gr.path}/hardware/arduino/rl78/libraries/EEPROM/utility"


ビルド出来るようになった



なお、ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware側
から以下のファイルは除外してあります。(他方、ユーザプロファイルフォルダ\AppData\Local\Arduino15\
packages\GadgetRenesas\tools側では残してあります。そうしないと完全に無くなってしまいますので。)

pfdl.a
picalicoFree.a
pfdl.h
pfdl_type.h
PicalicoFree.h

追記 : 補足

すみません。試していて気付いた(思い出した)のですが、サンプルプログラムの中にはビルド出来ないものも
ありました。もしかすると、PicalicoFreeはArduino IDE 1.6.7では最初からビルド出来ないものだったかも
知れません。
PicalicoFreeは2つ前のエントリでの変更でArduino IDE 1.6.7でビルド出来なくなっていたよう
です。同じ変更にも関わらずArduino IDE 1.6.5ではビルド出来てしまうのですが。 (あと、思い出したのは、
SNShieldもビルド出来ませんが、IDE4GR 0.4.0の頃も修正しないとビルド出来なかった記憶があります。)

まだビルド出来ない



追記 : 補足

すみません。3週間以上後になってから、基板への書き込みプログラム(rl78flash.exe)が起動出来なくなって
いたことに気付きました。試行錯誤したところ、ボード情報定義ファイルを以下のように変更することで起動
出来るようになりました。

ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\platform.txt
変更内容(該当部分): 赤字の箇所を追加

# SAM3 Uploader tools
# -------------------

tools.rl78flash.cmd=rl78flash
tools.rl78flash.cmd.windows=rl78flash.exe
#tools.rl78flash.path={runtime.tools.rl78.path} # It seems that this define does not work for all cases.
#tools.rl78flash.path={runtime.ide.path}/hardware/tools/rl78
#tools.rl78flash.path={runtime.hardware.path}/tools/rl78
tools.rl78flash.path={runtime.tools.ide4gr.path}/hardware/tools/rl78


tools.rl78flash.upload.params.verbose=
tools.rl78flash.upload.params.quiet=
tools.rl78flash.upload.pattern="{path}/{cmd}" -m 2 -vivewr {serial.port.file} "{build.path}/{build.project_name}.mot"

変更前は基板への書き込みプログラム(rl78flash.exe)を起動出来なかった

エラーメッセージ:
{runtime.tools.rl78.path}/rl78flash.exe -m 2 -vivewr COM5 W:\Temp\UserName\build021cef0c76c26215e8aea30174aa1e3a.tmp/Blink.ino.mot
java.io.IOException: Cannot run program "{runtime.tools.rl78.path}/rl78flash.exe": CreateProcess error=2, 指定されたファイルが見つかりません。
  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
  at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
  at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:123)
  at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:175)
  at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
  at processing.app.Sketch.upload(Sketch.java:1186)
  at processing.app.Sketch.exportApplet(Sketch.java:1160)
  at processing.app.Sketch.exportApplet(Sketch.java:1132)
  at processing.app.Editor$DefaultExportHandler.run(Editor.java:2381)
  at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: CreateProcess error=2, 指定されたファイルが見つかりません。
  at java.lang.ProcessImpl.create(Native Method)
  at java.lang.ProcessImpl.(ProcessImpl.java:386)
  at java.lang.ProcessImpl.start(ProcessImpl.java:137)
  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
  ... 9 more


変更後は基板への書き込みプログラム(rl78flash.exe)を起動出来るようになった

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/rl78/rl78flash.exe -m 2 -vivewr COM5 W:\Temp\UserName\build021cef0c76c26215e8aea30174aa1e3a.tmp/Blink.ino.mot

追記 : メモ

IDE4GR製品ページ
http://gadget.renesas.com/ja/product/ide4gr.html

そこでのide4gr-0.6.1-windows.zipのURL
http://gadget.renesas.com/ja/product/software/ide4gr-0.6.1-windows.zip

IDE4GRユーザフォーラムページ
http://japan.renesasrulz.com/gr_user_forum_japanese/m/32389e4b8f/222.aspx

そこでのide4gr-0.6.1-windows.zipのダウンロードページ
https://drive.google.com/file/d/0BzlFsDq9SuT2S2tRZGY5WDc2Mnc/view?usp=sharing

そこでのide4gr-0.6.1-windows.zipのURL(ただしウィルススキャン未実行警告ページを経由してしまう)
https://drive.google.com/uc?export=download&id=0BzlFsDq9SuT2S2tRZGY5WDc2Mnc

ちなみに、ウィルススキャン未実行警告ページの中にはダウンロードするzipファイルの本物のURLが含まれて
いるのですが、そのURLの一部(赤字の箇所)は時間が経つと変化するような仕組みになっているようでした。

とある日付、とある時刻、から暫く使用可能だったzipファイルの本物のURL(いずれは重複するのでしょうが)
https://drive.google.com/uc?export=download&confirm=AYuH&id=0BzlFsDq9SuT2S2tRZGY5WDc2Mnc

追記 : メモ

IDE for GR E0.6.1(for Windows)
http://japan.renesasrulz.com/gr_user_forum_japanese/m/32389e4b8f/222.aspx
先ほどの上記のIDE4GRユーザフォーラムページには以下のRevision Historyも記載されていました。
E0.6.1(Nov 5th 2015)
・GR-COTTONを追加
-----------------------------------------------
E0.6.0(Oct 27th 2015)
・GR-SAKURA, GR-KAEDEを追加
-----------------------------------------------
E0.4.2(Dec 21st 2014)
・KURUMIライブラリをV1.05ベースに変更
・KURUMI行燈(Andon)のサンプルが見えなかったのを修正
-----------------------------------------------
E0.4.1(Nov 14th 2014)
・Example、ライブラリを更新しました。(PicalicoFree用ライブラリ、KURUMI行燈の追加)
-----------------------------------------------
E0.4.0(Apr 4th 2014)
・書き込み時のベリファイをなくしました。
・SNShield用ライブラリとサンプルを追加しました。
・もとからArduino IDEにあるサンプルである程度動作確認ができたものを追加しました。
-----------------------------------------------
E0.3.0(Feb 7th 2014)
KURUMIライブラリがV1.01ベースだったのをV1.04に更新。
-----------------------------------------------
E0.2.0 (Feb 3rd 2014 )
シリアルモニターのボーレートに、230400, 460800, 921600を追加しました。
-----------------------------------------------
E0.1.0 (Jan 25th 2014 )
Initial version.

追記 : メモ

IDE for GR E0.4.1(for Windows)
http://japan.renesasrulz.com/gr_user_forum_japanese/m/mediagallery/146.aspx
https://drive.google.com/file/d/0BzlFsDq9SuT2OGJ3a1ZoVFVadHM/view?usp=sharing
https://drive.google.com/uc?export=download&id=0BzlFsDq9SuT2OGJ3a1ZoVFVadHM

IDE for GR E0.4.0(for Windows)
http://renesasrulz.com/gadget_renesas_user_forum/f/128/t/4781.aspx
https://drive.google.com/file/d/0BzlFsDq9SuT2RHhXWWMxMm1IM3c/view?usp=sharing
https://drive.google.com/uc?export=download&id=0BzlFsDq9SuT2RHhXWWMxMm1IM3c

よくよく考えてみれば、これらのIDE4GRの方が以前のエントリ(724, 746)の『一歳年上の姉が居りまして』を
ずっと楽にビルド出来た筈だった気がします... (これらが残っていたことに気が回りませんでした...)

追記 : メモ

ArduinoライクなIDEの作り込みについて
http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog/archive/2014/01/25/arduino-ide.aspx
このページの記載によるとcc1plus.exeが存在するフォルダに以下のdllをコピーしているとのことでした。
・libgcc_s_dw2-1.dll (KURUMI基板,SAKURA基板)
・libstdc++-6.dll (SAKURA基板)

関連記事

2016/03/27   blog-entry-750   category: Arduino Lib & CrossGCC

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。