なんとかなるさね

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


スポンサーサイト 

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

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

go page top

Arduino IDE|GadgetRenesas基板用IDE4GR 1.6.5(のようなもの)を作るには? (12) 

GadgetRenesas基板用IDE4GR 1.6.5/1.6.7(のようなもの)を作ってみることを考え始めたのですが、これまで
pfdl.aとpicalicoFree.aを以前のエントリでArduino Dueのボードパッケージのsystemフォルダに気付いてから
そのフォルダの下層に置くようにしていたところ、少し前のエントリで今ひとつであったことに気付いたので
別のフォルダに置くように出来ないものか試してみることにしました。Arduino M0のボードパッケージを見た
ところ、systemフォルダが無く代わりにCMSISフォルダが有ったのですが、そのフォルダはcoresフォルダや
variantsフォルダがある場所ではなくてGCCのフォルダやOpenOCDのフォルダがある場所に置かれていました。



また、そのフォルダはArduino M0のボードパッケージのボード情報定義ファイルでは以下の表記で参照されて
いました。

パッケージ: Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino version 1.6.4
ファイル: packages\arduino\hardware\samd\1.6.4\platform.txt
該当箇所:

compiler.arm.cmsis.path="-I{runtime.tools.CMSIS.path}/CMSIS/Include/" "-I{runtime.tools.CMSIS.path}/Device/ATMEL/"

そこで、以下のフォルダを作成してpfdl.aとpicalicoFree.a及びpfdl.hとpfdl_type.hとPicalicoFree.hを移して
みました。

新しいフォルダ: arduino-1.6.5-r5\hardware\tools\sys-rl78\rl78-g1x\proprietary\lib
新しいフォルダ: arduino-1.6.7\hardware\tools\sys-rl78\rl78-g1x\proprietary\lib
移したファイル:

pfdl.a
picalicoFree.a

新しいフォルダ: arduino-1.6.5-r5\hardware\tools\sys-rl78\rl78-g1x\proprietary\include
新しいフォルダ: arduino-1.6.7\hardware\tools\sys-rl78\rl78-g1x\proprietary\include
移したファイル:

pfdl.h
pfdl_type.h
PicalicoFree.h



そして、以前のエントリと同様にビルトインツールバージョン記述ファイルを作成した上で、以前のエントリ
KURUMI基板のボード情報定義ファイルとパッケージ情報定義ファイルを以下のように変更してみました。

ファイル: arduino-1.6.5-r5\hardware\tools\sys-rl78\builtin_tools_versions.txt
内容:

GadgetRenesas.sys-rl78=0.1.0

ファイル: arduino-1.6.5-r5\hardware\GadgetRenesas\rl78\platform.txt
ファイル: arduino-1.6.7\hardware\GadgetRenesas\rl78\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

途中省略

# 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"

途中省略

## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {build.variant_system_includes} {includes} {compiler.c.flags} -c -x c -I"{build.path}" {compiler.c.extra_flags} {build.extra_flags} "{source_file}" -o "{object_file}"

## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {build.variant_system_includes} {includes} {compiler.cpp.flags} -c -x c++ {compiler.cpp.extra_flags} {build.extra_flags} "{source_file}" -o "{object_file}"

## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {build.variant_system_includes} {includes} {compiler.S.flags} -c -x assembler-with-cpp {compiler.S.extra_flags} {build.extra_flags} "{source_file}" -o "{object_file}"

ユーザプロファイルフォルダ\AppData\Roaming\Arduino15\package_GadgetRenesas_index.json (1.6.5)
ユーザプロファイルフォルダ\AppData\Local\Arduino15\package_GadgetRenesas_index.json (1.6.7)
今回の内容(該当部分): 赤字の箇所を追加

{
  "packages": [
    {
      "name": "GadgetRenesas",
      "platforms": [
        {
          "name": "GadgetRenesas RL78 Boards",
          "architecture": "rl78",
          "version": "0.1.0",
          "boards": [
            {
              "name": "GR-KURUMI"
            }
          ],
          "toolsDependencies": [
            {
              "packager": "GadgetRenesas",
              "name": "sys-rl78",
              "version": "0.1.0"
            },

            途中省略
          ]
        }
      ],
      "tools": [
        {
          "name": "sys-rl78",
          "version": "0.1.0",
          "systems": [
            {
              "host": "i686-mingw32"
            }
          ]
        },

        途中省略
      ]
    }
  ]
}

なお、Ardino IDE 1.6.7では以前のエントリと同様にbuiltin_tools_versions.txtとフォルダ構成を以下のように
しました。フォルダ構成も以下のバッチファイル(管理者権限で実行)でシンボリックリンクを作成してあります。

ファイル: arduino-1.6.7\hardware\tools\avr\builtin_tools_versions.txt
変更内容: 赤字の箇所を追加

arduino.avrdude=6.0.1-arduino5
arduino.avr-gcc=4.8.1-arduino5
GadgetRenesas.gcc-rl78=v14.03
GadgetRenesas.sys-rl78=0.1.0


ファイル: arduino-1.6.7\hardware\tools\avr\MKLINKGRTOOLS.bat
内容:

CD /D "%~dp0"
MKLINK /D .\rl78-elf ..\gcc-rl78\rl78-elf
MKLINK /D .\rl78-g1x ..\sys-rl78\rl78-g1x
pause



今回のやり方でも、Arduino IDE 1.6.5/1.6.7やArduino Eclipse plugin V2.4でもビルドすることが出来ました。





関連記事

2016/03/22   blog-entry-748   category: Arduino Lib & CrossGCC

go page top

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