なんとかなるさね

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


スポンサーサイト 

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

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

go page top

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

以前はGadgetRenesas基板用IDE4GR 1.6.5/1.6.7(のようなもの)を作ってみることを考えていたのですが、7つ
前のエントリ
で、ふと、Arduino IDEのボードマネージャのパッケージ情報定義ファイルにウェブ上でルネサスが
公開しているIDE4GR 0.6.1のzipファイルのURLを記述することを試し、4つ前のエントリで、ふと、Arduino IDE
のボードマネージャのパッケージ情報定義ファイルにウェブ上でルネサスが公開しているe2 studio用スケッチ
環境ファイルのzipファイルのURLを記述することを試し、あれこれ考え直しているところです。いつものように
ちょっとパラノイア的なのですが、今回、やり方を変えてe2 studio用スケッチ環境ファイルのzipファイルのURL
を記述してみました。

前回はURLをパッケージ情報定義ファイルのplatform側に記述したのですが、今回はURLをパッケージ情報定義
ファイルのtool側に記述してみました。また、以下のルネサス提供のファイルに関して、前回はIDE4GR 0.6.1の
zipファイルに含まれていたものを利用するつもりでいたのですが、今回はe2 studio用スケッチ環境ファイルの
zipファイルに含まれていたものを利用するようにしてみました。(その結果、IDE4GR 0.6.1のzipファイルに含ま
れているもので使用されるものはKPIT GNU toolchainと基板への書き込みツールだけになりますが、この2つは
手間を掛けることを厭わなければ自前でビルドして配布可能なものを作ることが出来る筈のものだと思います。)

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

試してみたパッケージ情報定義ファイルとボードマネージャでインストールしてみた後の画面は以下の通りです。

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

{
  "packages": [
    {
      "name": "GadgetRenesas",
      "maintainer": "GadgetRenesas Japan",
      "websiteURL": "http://japan.renesasrulz.com/gr_user_forum_japanese/default.aspx",
      "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://gadget.renesas.com/ja/reference/kurumi/index.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"
            },
            {
              "packager": "GadgetRenesas",
              "name": "kurumi_sketch",
              "version": "1.12.0"
            }

          ]
        },
        {
          "name": "GadgetRenesas RX63N Boards",
          "architecture": "rx63n",
          "version": "0.4.0",
          "category": "GadgetRenesas",
          "help": {
            "online": "http://gadget.renesas.com/ja/reference/sakura/index.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"
            },
            {
              "packager": "GadgetRenesas",
              "name": "sakura_sketch",
              "version": "2.8.0"
            }

          ]
        }
      ],
      "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"
            }
          ]
        },
        {
          "name": "kurumi_sketch",
          "version": "1.12.0",
          "systems": [
            {
              "host": "i686-mingw32",
              "url": "http://japan.renesasrulz.com/cfs-file.ashx/__key/telligent-evolution-components-attachments/13-03-00-00-00-00-02-30/kurumi_5F00_sketch.zip",
              "archiveFileName": "kurumi_sketch_v112_e2studio.zip",
              "checksum": "SHA-256:7CBE90BBCCD9D9A0C876F02855F2FBB43570D39F81D53016D34FC4A148798D31",
              "size": "333499"
            }
          ]
        },
        {
          "name": "sakura_sketch",
          "version": "2.8.0",
          "systems": [
            {
              "host": "i686-mingw32",
              "url": "http://japan.renesasrulz.com/cfs-file.ashx/__key/telligent-evolution-components-attachments/13-03-00-00-00-00-02-35/sakura_5F00_sketch.zip",
              "archiveFileName": "sakura_sketch_v208_e2studio.zip",
              "checksum": "SHA-256:84413E9BE3E68B4D7502D665F63BB25CE431E1D565F09223781206E01C14022D",
              "size": "633394"
            }
          ]
        }

      ]
    }
  ]
}



また、ビルド出来るようにする為にボード情報定義ファイルとplatform側のソースを変更して差し替えました。

ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\PicalicoClass.h
変更内容: 赤字の箇所を追加/削除

/*
 * PicalicoClass.h
 *
 *  Created on: Nov 12, 2014
 *      Author: Renesas Electronics
 *
 ***************************************************************************
 * Copyright (C) 2014 Renesas Electronics. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * See file LICENSE.txt for further informations on licensing terms.
 ***************************************************************************/
/* Modified by Yuuki Okamiya : Dec 17, 2014 */
/* Modified by MON-80 : Apr 1, 2016 */
/* Modified by MON-80 : Apr 20, 2016 */

/* note : this library uses attachMicroIntervalTimerHandler(),
 *        that influence to use tone().
 */


#ifndef PICALICOCLASS_H_
#define PICALICOCLASS_H_

//#include "PicalicoFree.h" // used in IDE4GR 0.6.1
//#include "utility/PicalicoFree.h" // desired for IDE4GR
//#include "utility/_include_PicalicoFree_h_.h" // workaround for a trial of making a GadgetReneas BoardPackage

途中省略

#endif /* PICALICOCLASS_H_ */


ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\utility\PicalicoFree.h
変更内容: ファイルを新規追加(赤字の箇所が小細工の部分)

/*
 * //_include_PicalicoFree_h_.h
 * PicalicoFree.h
 *
 *  Created on: Apr 1, 2016
 *      Author: MON-80
 *
 ***************************************************************************
 * Copyright (C) 2016 MON-80. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * See file LICENSE.txt for further informations on licensing terms.
 ***************************************************************************/
/* Modified by MON-80 : Apr 20, 2016 */

//#include "../PicalicoFree.h" // workaround for a trial of making a GadgetReneas BoardPackage
#include "PicalicoFree/PicalicoFree.h" // workaround for a trial of making a GadgetReneas BoardPackage


ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\librariesEEPROM\utility\pfdl.h
変更内容: ファイルを置き換える(赤字の箇所が小細工の部分)

/*
 * pfdl.h
 *
 *  Created on: Apr 20, 2016
 *      Author: MON-80
 *
 ***************************************************************************
 * Copyright (C) 2016 MON-80. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * See file LICENSE.txt for further informations on licensing terms.
 ***************************************************************************/

#include "EEPROM/utility/pfdl.h" // workaround for a trial of making a GadgetReneas BoardPackage


ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\librariesEEPROM\utility\pfdl_types.h
変更内容: ファイルを置き換える(赤字の箇所が小細工の部分)

/*
 * pfdl_types.h
 *
 *  Created on: Apr 20, 2016
 *      Author: MON-80
 *
 ***************************************************************************
 * Copyright (C) 2016 MON-80. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * See file LICENSE.txt for further informations on licensing terms.
 ***************************************************************************/

#include "EEPROM/utility/pfdl_types.h" // workaround for a trial of making a GadgetReneas BoardPackage


ファイル: ユーザプロファイルフォルダ\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 of using 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.kurumi_sketch.path}/src/RLduino78
runtime.tools.rl78.path={runtime.tools.ide4gr.path}/hardware/tools/rl78

途中省略

# These can be overridden in boards.txt of GadgetRenesas
# (Specifying "libraries" in stead of "PicalicoFree" and "EEPROM/utility" in build.variant_system_includes is
# a workaround for a trial of making a GadgetReneas BoardPackage.)
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.sys-rl78.path}/libraries/PicalicoFree/picalicoFree.a" "{runtime.tools.sys-rl78.path}/libraries/EEPROM/utility/pfdl.a"
build.variant_system_includes="-I{runtime.tools.sys-rl78.path}/libraries"

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

picalicoFree.a
pfdl.a

ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware側の以下の
ファイルはファイルを置き換えています。(他方、ユーザプロファイルフォルダ\AppData\Local\Arduino15\
packages\GadgetRenesas\tools側では変更していません。そうしないと元が無くなってしまいますので。)

PicalicoFree.h
pfdl.h
pfdl_type.h

このようにすることでもビルドすることが出来ました。




関連記事

2016/04/21   blog-entry-757   category: Arduino Lib & CrossGCC

go page top

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