なんとかなるさね

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


スポンサーサイト 

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

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

go page top

RXマイコン基板(GR-CITRUS)|秋月電子さんから今度はRX631搭載基板が出るらしい 

先月、秋月電子さんからRL78マイコン基板(というかガジェット)が出たのですが、ウェブで調べ物をしていて、
夏頃に、今度はRXマイコン基板が出るらしいことを知りました。搭載されるマイコンはRX631のようです。

GR-CITRUSのmrubyソースをmakeする方法 - Qiita
http://qiita.com/tarosay/items/39bbf4cba373ec9aff41

Wakayama.rb Ruby Board V2 library Firmware - GitHub
https://github.com/wakayamarb/wrbb-v2lib-firm

GR-CITRUS搭載のRubyファームウェアの説明 - slideshare
http://www.slideshare.net/MinaoYamamoto/grcitrusruby

写真等 - facebook
https://www.facebook.com/renesasfun/posts/806492509483873:0

追記 : メモ

若松通商さんからはGR-SAKURAⅡが出ていました。

GR-SAKURAⅡ-FULL商品説明 - 若松通商
http://wakamatsu.mobi/eccube/html/products/detail.php?product_id=12010658

GR-SAKURAⅡ商品説明(ピンヘッダー/コネクタ/ジャック/ソケットの実装有無が間違っている?) - 若松通商
http://wakamatsu.mobi/eccube/html/products/detail.php?product_id=12010659

GR-SAKURAはRSオンラインからの購入になりますが、税別のGR-SAKURAⅡはそれとほぼ同価格のようです。

RSオンライン Weekly Top 100 Bestsellers (毎週火曜日更新?) (先々々週?は38位と84位だったようです)
http://jp.rs-online.com/web/generalDisplay.html?id=promotions/topsellers

追記 : メモ

最新の本家Arduino IDE(1.6.9?)をベースにしたIDE4GRが開発されるようです。(現在は1.5.4ベースです。)

『最新の本家Arduino IDEの対応を行おうと思っています』とのこと
http://japan.renesasrulz.com/gr_user_forum_japanese/f/112/p/3085/16380.aspx#16380

スポンサーサイト

2016/05/19   blog-entry-762   category: Arduino Lib & CrossGCC

go page top

RL78マイコン基板(GR-COTTON)|搭載マイコンはRL78/G13の64pin版だった(48pin版ではなかった) 

秋月電子さんからGadgetRenesasの新製品としてCOTTON基板が販売開始されたのですが、回路図を見ていて、
搭載マイコンがKURUMI基板のRL78/G13 48pin R5F100GJAFBではなくて、秋月電子さんでマイコン自体が
単体販売されているRL78/G13 64pin R5F100LJAFBらしいことに気付きました。ルネサスさんのウェブでは
KURUMI基板と同じマイコンのRL78/G13 48pin R5F100GJAFBになっているのですが、
拡大された基板写真で
pin数を数えてみると確かに64pinありますので、ルネサスさんのウェブの情報が間違っているような気がします
(追記 : 今は修正されています。) (もっとも、基板から全てのpinが出ている訳ではありませんが。)

COTTON基板の回路図 - 秋月電子
http://akizukidenshi.com/download/ds/akizuki/gr-cotton_schematic_20160209.pdf

COTTON基板の拡大写真 - 秋月電子
http://akizukidenshi.com/img/goods/C/K-10421.jpg

COTTON基板の商品ページ - 秋月電子
http://akizukidenshi.com/catalog/g/gK-10421/
http://akizukidenshi.com/catalog/g/gK-09867/

RL78マイコン R5F100LJAFBの商品ページ - 秋月電子
http://akizukidenshi.com/catalog/g/gI-06179/

COTTON基板の紹介ページ - GadgetRenesas
http://gadget.renesas.com/ja/product/cotton.html

なお、秋月電子さんで販売されている以下のマイコン単体と変換モジュールはCOTTON基板に搭載されている
RL78/G13 64pin R5F100LJAFBのROM/RAMサイズ違いのものです。

RL78マイコン関連商品ページ - 秋月電子
http://akizukidenshi.com/catalog/c/crl78/

RL78マイコン R5F100LGAFB
RL78マイコン R5F100LEAFB
RL78マイコン R5F100LCAFB
RL78マイコン R5F100LGAFB搭載変換モジュール

追記 : メモ

RL78マイコン R5F100LGAFB搭載変換モジュールを確保しました。(すみません。COTTON基板ではないです。)



2016/05/09   blog-entry-760   category: Arduino Lib & CrossGCC

go page top

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

前のエントリでKURUMI基板でやったことを今度はSAKURA基板でやろうとしていて困ったことに気付きました。
KURUMI基板ではルネサス提供の再配布可能なライセンスではないと思われるファイルはカスタムライブラリに
のみ含まれていましたが、SAKURA基板ではカスタムライブラリだけでなくコアライブラリにも含まれています。
例えば内蔵USB関連や内蔵Ethernet関連です。そのこと自体は分かっていましたが、いざファイルを除外して
みて初めて、スケッチでUSBやEthernetを使用していなくてもリンクエラーになってしまうことに気付きました。
(それに対し、含まれているのがカスタムライブラリであれば、スケッチで使用していなければリンクエラーには
なりません。) KURUMI基板で使った手がSAKURA基板では使えず、どうしたものだろうかというところです。

追記 : 前のエントリに書いた(時系列的には後で気付いた)ことから考えると、コアライブラリの方は再配布可能
なのかも知れません。LGPLで配布されているArduino coreを改変したものという扱いになると思われる為です。
同様に、SAKURA基板のEEPROMライブラリも、LGPLで配布されているArduino librariesに含まれているものを
改変したものという扱いになると思われますので、再配布可能なのかも知れません。(なお、KURUMI基板では
EEPROMライブラリはArduino libraries由来のソースが使われていないようでした。API仕様からフルスクラッチ
されたソースのようでした。)

追記その2 : 最初から考え直してみると、LGPLのものを改変したものは、LGPLか、GPLか、(ライセンス違反か、)
にしかならないので、再配布可能ではないと思ってしまったことが、そもそも早トチリだったような気がします。

なお、コアライブラリに含まれていた内蔵USB関連ソースは以下の通りでした。

cores\arduino\usb_cdc.c
cores\arduino\usb_cdc.h
cores\arduino\usb_common.h
cores\arduino\usb_core.c
cores\arduino\usb_core.h
cores\arduino\usb_hal.c
cores\arduino\usb_hal.h
cores\arduino\usbdescriptors.c
cores\arduino\usbdescriptors.h

また、コアライブラリに含まれていた内蔵Ethernet関連ソースは以下の通りでした。

cores\arduino\utility\driver\phy.c
cores\arduino\utility\driver\phy.h
cores\arduino\utility\driver\r_ether_local.h
cores\arduino\utility\driver\r_ether.c
cores\arduino\utility\driver\r_ether.h
cores\arduino\utility\driver\t4_driver.c
cores\arduino\utility\driver\timer.c
cores\arduino\utility\driver\timer.h
cores\arduino\utility\r_byteq_v1.30\r_byteq.c
cores\arduino\utility\r_byteq_v1.30\r_byteq_config.h
cores\arduino\utility\r_byteq_v1.30\r_byteq_config_reference.h
cores\arduino\utility\r_byteq_v1.30\r_byteq_if.h
cores\arduino\utility\r_byteq_v1.30\r_byteq_private.h
cores\arduino\utility\r_config\r_t4_dhcp_client_rx_config.h
cores\arduino\utility\r_config\r_t4_dns_client_rx_config.h
cores\arduino\utility\r_config\r_t4_ftp_server_rx_config.h
cores\arduino\utility\r_config\r_t4_http_server_rx_config.h
cores\arduino\utility\r_config\r_t4_rx_config.h
cores\arduino\utility\T4_src\config_tcpudp.c
cores\arduino\utility\T4_src\ether.c
cores\arduino\utility\T4_src\ether.h
cores\arduino\utility\T4_src\ip.c
cores\arduino\utility\T4_src\ip.h
cores\arduino\utility\T4_src\r_dns_client.c
cores\arduino\utility\T4_src\r_dns_client.h
cores\arduino\utility\T4_src\r_dhcp_client.h
cores\arduino\utility\T4_src\r_t4_dhcp_client_rx_if.h
cores\arduino\utility\T4_src\r_t4_dns_client_rx_if.h
cores\arduino\utility\T4_src\T4_Version.c
cores\arduino\utility\T4_src\tcp.c
cores\arduino\utility\T4_src\tcp.h
cores\arduino\utility\T4_src\tcp_api.c
cores\arduino\utility\T4_src\type.h
cores\arduino\utility\T4_src\udp.c
cores\arduino\utility\T4_src\udp.h

他方、カスタムライブラリに含まれていたソースは以下の通りでした。

libraries\DSP\utility\r_dsp_complex.h
libraries\DSP\utility\r_dsp_filters.h
libraries\DSP\utility\r_dsp_matrix.h
libraries\DSP\utility\r_dsp_statistical.h
libraries\DSP\utility\r_dsp_transform.h
libraries\DSP\utility\r_dsp_typedefs.h
libraries\DSP\utility\r_dsp_types.h

libraries\EEPROM\utility\r_flash_api_rx600.c
libraries\EEPROM\utility\r_flash_api_rx600.h (これはGadgetRenesasの中の人によるソースのようです。)

e2 studioでビルドを試してみた時の画面は以下の通りでした。

コアライブラリのソースをビルドから除外するとビルド出来なくなる


カスタムライブラリのソースならビルドから除外してもビルド出来る


追記 : 雑感

もし、KURUMI基板のEEPROMライブラリのライセンスがLGPLであると帰結されるような記載がどこかにあった
場合、pfdl.aのソースやビルド手順が不明なことはLGPLのライセンス違反になってしまうのかな? (逆に言えば、
ライブラリとしてのライセンスについてどこにも記載がなければ、ライブラリ内にLGPLのソースとpfdl.aが共に
含まれていてもLGPLのライセンス違反にはならないことになるのかな?)

そう書いた後で気付いたのですが、ライブラリのトップレベルのEEPROM.cppとEEPROM.hに以下の記載があり
ましたので、ライブラリ内でソースやビルド手順が不明なpfdl.aが使われていることは、LGPLのライセンス違反
(というかLGPLとするのに必要な条件をそもそも満たしていない)ような気もします、、、
(追記 : 1次配布の時点でソースやビルド手順が不明なライブラリが含まれているのは良いのかも?? 2016/05/08)
(追記その2 : でも、自分達はソース非公開にしておきながら他者にソース公開を要求しているということになり、
悪く言えば、眉をひそめること、だと言えなくもないような、、、 2016/05/09)
(追記その3 : しかし、そもそも、ライブラリを改良して公開しようとする人がそのことを気にしない(あるいは、
気にはなるが別に構わないと考える)のであれば、結局、それならそれで別に構わないことなのではないかと思う
ようになりました。もしそれが自分自身であったとしたら、自分自身も、気になるけれども別にそれで構わない、
と考えると思いますし。 2016/05/30)
これは、ライブラリとしてのライセンスが他のOSSライセンスになっていれば良かったのかな? (ソースの主要な
部分が非公開なのにOSSライセンスというのはちょっと矛盾しているような気もしますが。)
2016/05/30

ファイル: EEPROM.cpp
ファイル: EEPROM.h
内容(該当箇所):

 * 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.

追記 : メモ

ちなみに、Arduino librariesのEEPROMライブラリの仕様/実装が昨年(2015年)にV2.0へ変わっていたようです。
(USB周りもPluggableUSBというものに変わっているようですし。)

EEPROM Library V2.0 for Arduino - GitHub
https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/libraries/EEPROM

追記 : メモ

あと、SAKURA基板のDSPライブラリも、ライブラリのトップレベルのDSP.cppとDSP.hに以下の記載がありま
したので、ライブラリ内でソースやビルド手順が不明なlibGNU_RX_DSP_Little.aが使われていることは、LGPL
のライセンス違反(というかLGPLとするのに必要な条件をそもそも満たしていない)ような気もします、、、
(追記 : 1次配布の時点でソースやビルド手順が不明なライブラリが含まれているのは良いのかも?? 2016/05/08)
(追記その2 : でも、自分達はソース非公開にしておきながら他者にソース公開を要求しているということになり、
悪く言えば、眉をひそめること、だと言えなくもないような、、、 2016/05/09)
(追記その3 : しかし、そもそも、ライブラリを改良して公開しようとする人がそのことを気にしない(あるいは、
気にはなるが別に構わないと考える)のであれば、結局、それならそれで別に構わないことなのではないかと思う
ようになりました。もしそれが自分自身であったとしたら、自分自身も、気になるけれども別にそれで構わない、
と考えると思いますし。 2016/05/30)
これも、ライブラリとしてのライセンスが他のOSSライセンスになっていれば良かったのかな? (ソースの主要な
部分が非公開なのにOSSライセンスというのはちょっと矛盾しているような気もしますが。)
2016/05/30

ファイル: DSP.cpp
ファイル: DSP.h
内容(該当箇所):

 * 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.

追記 : メモ

他にも、KURUMI基板のPicalicoFreeライブラリも同様な気がするのですが、PicalicoFreeライブラリはIDE4GR
0.7.0では無くなっていました。(picalicoFree.aは残っていましたが。) (COTTON基板の方でも同じでした。)

追記 : メモ

LGPL - Wikipedia
https://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License

GPL - Wikipedia
https://ja.wikipedia.org/wiki/GNU_General_Public_License

追記 : メモ

ライセンス違反にライセンス変更で対処することはよくあることなのかな?

FSF、LinuxとZFSと組み合わせはライセンス違反と指摘 - マイナビニュース
http://news.mynavi.jp/news/2016/04/13/115

追記 : メモ

著作権所有者による1次配布では、GPL/LGPLによる2次配布では許容されない条件を加える以下の例があります。
(2次配布でも著作権所有者(複数なら全員)から個別に了解を取っていれば条件を加えることは可能でしょうが。)

* FreeRTOSのModified GPL

* TOPPERSのGPLとTOPPERSライセンスのデュアルライセンス方式

追記 : 雑感

2年ほど前のエントリで当時のKURUMIスケッチ環境 V1.04のソースコードのライセンスをファイル毎に調べて
みたことがあったのですが、その時はGPLと非GPLの混在でモヤモヤしていたことを思い出しました。(なお、
結局今回は、1次配布の時点でLGPLのライブラリにソースやビルド手順が不明なライブラリが含まれているのは
良いのかどうか、ということでモヤモヤしていることになりそうです。)

ちなみに、2年前の時点で以下のウェブページ(というかライセンス)が存在していたのかどうか分からないです。
でも、今は、この存在により以下のURLを含むGadgetRenesasのソースは自動的にLGPLの扱いになりそうです。
私には、『Open Source Codeと一緒に、あるいはOpen Source Codeに組み込まれて、提供されている場合は、
そのOpen Source Codeのライセンス条項が優先される』ということが書かれているように読めましたので。

ソースに記載されたURL
http://www.renesas.com/disclaimer

アクセスすると以下のウェブページが表示されます
http://www.renesas.com/disclaimers/disclaimer20.htm

該当箇所: 2-(4)の次のセンテンスから

あと、KURUMI基板のEEPROMライブラリやSAKURA基板のDSPライブラリがLGPLの扱いになるとして、その
場合には、pfdl.aがEEPROMライブラリフォルダの下にある場合やlibGNU_RX_DSP_Little.aがDSPライブラリ
フォルダの下にある場合には、これらも再配布可能ということになるのかな? (IDE4GRでもe2studio用スケッチ
環境でもそうなっていましたし、IDE4GRではvariantsフォルダの下との2重持ちになってましたし。)

追記 : 雑感

逆に、このウェブページ(というかライセンス)(免責事項だけではない)を読んで、今後、どうしようかと思った
ことが、このURLを含むソースはOpen Source Codeの場合以外はconfidential(機密事項)として扱う必要がある
ように読めたことです。『配布(distribute)してはいけません』ではなく『開示(disclose)してはいけません』に
なっていて、その後の方で『機密保持義務(confidentiality obligations)』だの『機密性(confidentiality)』だの
どうのこうのと書かれているからです。今までソース上にconfidentialの記載があったソースは避けていたのです
が、今後はこのURLを含むソースも避けることになりそうです。(もっとも、もっと緩やかな別の使用許諾が指定
されていればそちらを優先することで避けなくても済むでしょうし、ユーザーズマニュアルは誰でも見ることが
出来る形で公開されていることが少なくないですのでそれを基にすることで避けなくても済むでしょうし、、、)

該当箇所: 4-(a)

ただ、誰でも作成出来るMy Renesasのユーザアカウントで誰でもダウンロード出来るようなものもconfidential
(機密事項)という扱いになることには、ちょっと腑に落ちないところが無い訳ではありませんが、、、

追記 : 雑感

あと、このURLを含むソースを使用したソフトウェアのバイナリ(HEXやMOTも含まれると思います)は、製品に
組み込んだ形でしか配布してはいけない、ようです。(工場などで)製品に組み込む為のコピーを作るのは可。

該当箇所: 2-(4)と2-(3)

これだと、インターネット経由のファームウェアの配布(アップデート含む)は許諾されないことになりそうです。

2016/05/02   blog-entry-759   category: Arduino Lib & CrossGCC

go page top

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

すみません。後のエントリでEEPROMライブラリとPicalicoFreeライブラリはLGPLのライセンス違反(というか
LGPLとするのに必要な条件をそもそも満たしていない)ような気もしてきましたので、ファイルの公開をやめ
ます。また後で考え直してみます。(2016/05/07)


ちょうどIDE4GR 0.7.0がルネサスから公開されましたので、これのダウンロード用zipファイルと以前の幾つか
のエントリ(750, 753)以降分かって来たことを組み合わせて、KURUMI基板用のArduino IDEのボードパッケージ
(Windows専用)を作ってみました。 また、その中で使用しているダウンロード用zipファイルにはe2 studio用
スケッチ環境としてe2 studioのワークスペースにインポートする為に必要なファイルを含めるようにしました。
(ただし、逆に幾つかのヘッダファイルとライブラリファイルを除外してあり、Arduino IDEのボードパッケージ
では小細工して手間を掛けることなく補われるように出来たのですが、e2 studio用スケッチ環境では小細工が
出来なかったので必要に応じて手作業で補ってやる必要があって、ちょっと中途半端なものになっていますが。)

パッケージ情報定義ファイルのURL:

http://mon80.web.fc2.com/blogdata/blog-entry-758/package_GadgetRenesas_Kurumi_trial_index.json

内容:

{
  "packages": [
    {
      "name": "GadgetRenesas_t",
      "maintainer": "MON-80",
      "websiteURL": "http://japan.renesasrulz.com/gr_user_forum_japanese/default.aspx",
      "email": "",
      "help": {
        "online": "http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog2/default.aspx"
      },
      "platforms": [
        {
          "name": "GadgetRenesas KURUMI Boards (16-bit RL78 MCU) // packaging trial",
          "architecture": "kurumi",
          "version": "1.12.0-20160421",
          "category": "GadgetRenesas",
          "help": {
            "online": "http://gadget.renesas.com/ja/reference/kurumi/index.html"
          },
          "url": "http://mon80.web.fc2.com/blogdata/blog-entry-758/gr_platform_kurumi_v1.12.0.20160421.zip",
          "archiveFileName": "gr_platform_kurumi_v1.12.0.20160421.zip",
          "checksum": "SHA-256:5933BFA8547DE7E5976E33C9CA9AFB71FD68CCE5F6088F7ACDA74D15385C1B97",
          "size": "546644",
          "boards": [
            {
              "name": "GR-KURUMI"
            }
          ],
          "toolsDependencies": [
            {
              "packager": "GadgetRenesas_t",
              "name": "ide4gr",
              "version": "0.7.0"
            },
            {
              "packager": "GadgetRenesas_t",
              "name": "kurumi_sketch",
              "version": "1.12.0"
            }
          ]
        }
      ],
      "tools": [
        {
          "name": "ide4gr",
          "version": "0.7.0",
          "systems": [
            {
              "host": "i686-mingw32",
              "url": "http://gadget.renesas.com/ja/product/software/ide4gr-0.7.0-windows.zip",
              "archiveFileName": "ide4gr-0.7.0-windows.zip",
              "checksum": "SHA-256:78184F59A0A60F2F571987CAE3E32C4590635F4A23697CFC3A89271494B0DD16",
              "size": "191051751"
            }
          ]
        },
        {
          "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"
            }
          ]
        }
      ]
    }
  ]
}

このボードパッケージをインストールした後のボードマネージャとマイコンボードメニューは以下の通りでした。






また、このボードパッケージをインストールした後のフォルダ構成は以下の通りでした。



パッケージ情報定義ファイルのURLはArduino IDEのメニュー[ファイル]→[環境設定]で開くダイアログで指定
することが出来ます。なお、Arduino IDE 1.6.5/1.6.8でビルドを試してみた時の画面は以下の通りでした。










このボードパッケージで使用している以下のダウンロード用zipファイルを解凍したものはe2 studio用スケッチ
環境としてe2 studioのワークスペースにインポートしてe2 studio上でビルドすることが出来ます。

zipファイルのURL:

http://mon80.web.fc2.com/blogdata/blog-entry-758/gr_platform_kurumi_v1.12.0.20160421.zip

ただし、以下のファイルを除外(というか小細工用のファイルで代替)してありますので、EEPROMライブラリと
PicalicoFreeライブラリはビルド出来ません。その為、e2 studioのプロジェクト設定でこの2つのライブラリを
ビルドから除外するようにしてあります。(ですが、以下のファイルをルネサス提供のファイルで上書きすれば、
ビルドから除外する設定を解除するだけでビルド出来るようにしてあります。)

libraries\EEPROM\utility\pfdl.a
libraries\EEPROM\utility\pfdl.h
libraries\EEPROM\utility\pfdl_types.h
libraries\PicalicoFree\utility\picalicoFree.a
libraries\PicalicoFree\utility\picalicoFree.h



追記 : メモ

IDE4GR製品ページ (ちょうど0.7.0 Windows/Macが公開されたところでした)
http://gadget.renesas.com/ja/product/ide4gr.html

GR-KURUMI e2studio(V4)用スケッチ環境 (現在はV1.12です)
http://japan.renesasrulz.com/gr_user_forum_japanese/m/mediagallery/230.aspx

追記 : メモ

この後やりたいこと

* SAKURA基板スケッチ環境とKAEDE基板スケッチ環境
 (COTTON基板はe2 studio用スケッチ環境が無い?)
* プリビルドコアライブラリを使用するやり方
 (出来ればexception_handler.cppもvector_table.cも
 interrupt_handlers.cもリコンパイルしないように)
* クルミ行燈のサンプルを含める(でもライブラリ無しサンプルを含めるには?)
* 以前のエントリのArduino IDEをサクラ色にするファイルを含める
* 1年半ほど放置してしまっている昔のエントリの続きと合流

追記 : メモ

GR-SAKURAⅡ / GR-KURUMI - 若松通商
http://wakamatsu.mobi/eccube/html/products/list.php?category_id=577

GR-KAEDE / GR-PEACH / GR-COTTON - 秋月電子通商
http://akizukidenshi.com/catalog/c/cgr/

追記 : メモ

GR-SAKURAは出荷実績3万個だそうです。GR-SAKURAⅡは、『内蔵RAMが128KBから256KBへ倍増』だそう
で、『もっともっと活用したいあなた』や『mRubyや.Net MFをポーティングなさるかた』には朗報とのこと。

GR-SAKURAⅡ-FULL商品説明 - 若松通商
http://wakamatsu.mobi/eccube/html/products/detail.php?product_id=12010658

GR-SAKURAⅡ商品説明(ピンヘッダー/コネクタ/ジャック/ソケットの実装有無が間違っている?) - 若松通商
http://wakamatsu.mobi/eccube/html/products/detail.php?product_id=12010659

GR-SAKURAはRSオンラインからの購入になりますが、税別のGR-SAKURAⅡはそれとほぼ同価格のようです。

RSオンライン Weekly Top 100 Bestsellers (毎週火曜日更新) (先週は38位と84位だったようです)
http://jp.rs-online.com/web/generalDisplay.html?id=promotions/topsellers

他方、これくらい内蔵RAMがあるなら、プログラムを内蔵RAMにダウンロードしてのGDBSTUB+ソフトウェア
ブレークによるデバッグにも余裕が出来そうです。

GDB stub for bare-metal Renesas RX target - GitHub
https://github.com/msalov/rx-gdb-stub/

追記 : 雑感

GitHub上のmbed 2.0ライブラリソースをtools側フォルダ下にダウンロードする良い手はあるかな? (ひとまず
どうやってビルドするかということは脇へ置いておくとして。)

もしビルドする手もあったら、以前のエントリで気付いたEclipse Marsの(プレビュー版)Arduino C++ IDEから
mbed 2.0ライブラリソースを使うことが出来るようになるということでもあるのかな?

追記 : メモ

mbed 2.0ライブラリのソースコードは以下にあります。

mbed SDK : mbed libraries and tools (Classic) - GitHub

master
https://github.com/mbedmicro/mbed/
https://github.com/mbedmicro/mbed/archive/master.zip

releases
https://github.com/mbedmicro/mbed/releases/

mbed lib revision 119
https://github.com/mbedmicro/mbed/tree/mbed_lib_rev119/
https://github.com/mbedmicro/mbed/archive/mbed_lib_rev119.zip

mbed lib revision 118
https://github.com/mbedmicro/mbed/tree/mbed_lib_rev118/
https://github.com/mbedmicro/mbed/archive/mbed_lib_rev118.zip



ちなみに、Arduino IDEは以下のURLからARM-NONE-EABI GCCをダウンロードするようになっていました。

ARM-NONE-EABI GCC archive files for Arduino IDE in package_index.json

      "tools": [
        {
          "name": "arm-none-eabi-gcc",
          "version": "4.8.3-2014q1",
          "systems": [
            {
              "host": "arm-linux-gnueabihf",
              "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-arm.tar.bz2",
              "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-arm.tar.bz2",
              "checksum": "SHA-256:ebe96b34c4f434667cab0187b881ed585e7c7eb990fe6b69be3c81ec7e11e845",
              "size": "44423906"
            },
            {
              "host": "i686-mingw32",
              "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-windows.tar.gz",
              "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-windows.tar.gz",
              "checksum": "SHA-256:fd8c111c861144f932728e00abd3f7d1107e186eb9cd6083a54c7236ea78b7c2",
              "size": "84537449"
            },
            {
              "host": "x86_64-apple-darwin",
              "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz",
              "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz",
              "checksum": "SHA-256:3598acf21600f17a8e4a4e8e193dc422b894dc09384759b270b2ece5facb59c2",
              "size": "52518522"
            },
            {
              "host": "x86_64-pc-linux-gnu",
              "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-linux64.tar.gz",
              "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-linux64.tar.gz",
              "checksum": "SHA-256:d23f6626148396d6ec42a5b4d928955a703e0757829195fa71a939e5b86eecf6",
              "size": "51395093"
            },
            {
              "host": "i686-pc-linux-gnu",
              "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-linux32.tar.gz",
              "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-linux32.tar.gz",
              "checksum": "SHA-256:ba1994235f69c526c564f65343f22ddbc9822b2ea8c5ee07dd79d89f6ace2498",
              "size": "51029223"
            }
          ]
        },

追記 : メモ

ビルドする手段の可能性として、とりあえず、以下のようなものが思い付きはするのですけれど、、、
(コマンドライン上でビルドする手段はもちろんのこととして。)

* cores\コアID\下へOSのシンボリックリンクやEclipseの'リンクされたフォルダ'でリンクフォルダを作る
* makefileを使ってArduino IDEやEclipseのビルド前コマンド実行機能でmakeする

ですが、後になってよくよく考えてみると、ライブラリをビルドするのに使われたソースコードが全てバイナリ
形式のライブラリの再配布を認めていた場合には、それを再配布すれば良いので話は簡単になりそうです。ただ、
そうなっていないソースコード(例えばPEACH基板のUSB周りとか)もあり、その場合には、簡単になりません。

ちなみに、PEACH基板のUSB周りのソースのライセンスの文面はPFDLライブラリのソースのものと同じでした。

追記 : メモ

PEACH基板のUSB周りのソースのライセンスの文面には以下のURLへのリンクが記載されているのですが、更に
後になってよくよくリンク先の文面を読むと、『Open Source Codeと一緒に、あるいはOpen Source Codeに
組み込まれて、提供されている場合は、そのOpen Source Codeのライセンス条項が優先される』ということが
書かれているように読めました。

ソースに記載されたURL
http://www.renesas.com/disclaimer

アクセスすると以下のウェブページが表示されます
http://www.renesas.com/disclaimers/disclaimer20.htm

該当箇所: 2-(4)の次のセンテンスから

ひょっとすると、Linuxカーネルソースとして提供されていればGPL Ver2、mbed SDKソースとして提供されて
いればApache 2.0、Arduino core/librariesソースとして提供されていればLGPL、に従うということなのかも
知れません。(ちなみに、それらを提供することが出来るのは、Renesas、またはRenesasから許諾を得た団体、
だけだと思います。)

例えば、mbed SDKの場合、以下のウェブページにApache 2.0であることが記載されていました。

https://github.com/mbedmicro/mbed/blob/master/README.md

『The mbed Software Development Kit (SDK) is a C/C++
microcontroller software platform relied upon
by tens of thousands of developers to build projects fast.

The SDK is licensed under the permissive Apache 2.0 licence,
so you can use it in both commercial and personal projects
with confidence.』

また、Arduino core/librariesの場合、以下のウェブページにLGPLであることが記載されていました。(なお、
GitHub上の今のフォルダ構成では'core'サブフォルダは'arduino-core'サブフォルダになるかと思います。)

https://github.com/arduino/Arduino/blob/master/license.txt

『this file includes licensing information for parts of arduino.

first, the gnu general public license, which covers the main body
of the processing/arduino code (in general, all the stuff inside the 'app'
and 'core' subfolders).

next, the gnu lesser general public license that covers the arduino core
and libraries
.』

追記 : メモ

なお、disclaimer20.htmの文面と同じ文面(ただし会社の住所と効力が発生する操作が異なります)は、以下の
ウェブページにも記載されていました。

About LICENSE - ARM mbed >> Renesas >> Wiki
https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE

効力が発生する操作ですが、一方は同意ボタン、もう一方はダウンロードまたはインポート、という違いでした。

http://www.renesas.com/disclaimers/disclaimer20.htm の記載

『is effective from the date on which you click "I AGREE."』
『BY CLICKING ON THE "AGREE" BUTTON BELOW, YOU ACKNOWLEDGE THAT』

https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE の記載

『is effective from the date on which you download or import.』
(もう一方は対応するパラグラフ自体がありませんでした。)

追記 : 雑感

よくよく考えてみると、disclaimer20.htmの方は、この文言のある画面、あるいはこのURLリンクのある画面に
対してAgreeボタン(同意ボタン)を押したことが無い場合、効力が発生しないのかな? でも、GPLやLGPLなどは、
ライセンスの詳細を知っていなくても、また同意に相当する行為を行っていなくても、効力が発生していますし。

2016/04/22   blog-entry-758   category: Arduino Lib & CrossGCC

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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。