GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
現状 web コンパイラで提供されている GR-CITRUS 用のテンプレート GR-CITRUS-Sketch_V1.00.zip は GR-SAKURA のテンプレート GR-SAKURA_Sketch_V2.12.zip を基に作成されているようですが、現在 GR-SAKURA 用に提供されているテンプレートの最新は GR-SAKURA_Sketch_V2.13.zip であり、更新が追い付いていないようです。
GR-CITRUS-Sketch_V1.00.zip と GR-SAKURA_Sketch_V2.12.zip の差分を見てみると
ペリフェラル(SCI)の割り当てであるとか、
62d61 < {IER_SCI6_TXI6, 1, IER_SCI6_RXI6, 0, IR_SCI6_TXI6, IR_SCI6_RXI6, IPR_SCI6_TXI6, IPR_SCI6_RXI6, 6}, 64,65c63 < {IER_SCI3_TXI3, 0, IER_SCI3_RXI3, 7, IR_SCI3_TXI3, IR_SCI3_RXI3, IPR_SCI3_TXI3, IPR_SCI3_RXI3, 3}, < {IER_SCI5_TXI5, 6, IER_SCI5_RXI5, 5, IR_SCI5_TXI5, IR_SCI5_RXI5, IPR_SCI5_TXI5, IPR_SCI5_RXI5, 5}, --- > {IER_SCI6_TXI6, 1, IER_SCI6_RXI6, 0, IR_SCI6_TXI6, IR_SCI6_RXI6, IPR_SCI6_TXI6, IPR_SCI6_RXI6, 6}, 67a66,67 > {IER_SCI3_TXI3, 0, IER_SCI3_RXI3, 7, IR_SCI3_TXI3, IR_SCI3_RXI3, IPR_SCI3_TXI3, IPR_SCI3_RXI3, 3}, > {IER_SCI5_TXI5, 6, IER_SCI5_RXI5, 5, IR_SCI5_TXI5, IR_SCI5_RXI5, IPR_SCI5_TXI5, IPR_SCI5_RXI5, 5},
ピン番号の違いであるとか
770c774 < HardwareSerial Serial1(1, &SCI0, MstpIdSCI0, PIN_IO1, PIN_IO0); --- > HardwareSerial Serial1(1, &SCI0, MstpIdSCI0, PIN_IO0, PIN_IO1);
どうでもいい書き換えであるとか
150c150 < inline int _store_char(unsigned char c); --- > inline bool _store_char(unsigned char c);
凡そそんなのばかりであり、fork する理由が見当たりません。
ペリフェラルやピンの違いであれば
#if GRSAKURA #define Serial0SCI SCI6 #define Serial0Tx PIN_IO1 #define Serial0Rx PIN_IO0 ~ #elif GRCITRUS #define Serial0SCI SCI6 #define Serial0Tx PIN_IO0 #define Serial0Rx PIN_IO1 ~ #endif
等と定義してライブラリ中ではそれを使用すれば fork は避けられる筈なので、早期の内に軌道修正していただきたいです。
GR-CITRUS のライブラリに GR-SAKURA の最新の修正が適用されていない現時点で既に問題は生じています。
GR-SAKURA_Sketch_V2.14.zip を GCC for Renesas 4.8.4.201701-GNURX Windows Toolchain (ELF) でビルドしたところ、作成される sakura_sketch/bin のサイズが 120420バイト、先の方法でネットワーク関係を切った結果で 91572バイトという結果となりました。
どっちもでかすぎる印象ですが、それでも 30kバイト近くサイズが稼げるのは GR-SAKURA でもネットワークを使わない条件では有用なのではないかと思います。
現状、GR-SAKURA やその他のプラットホームの標準のテンプレートには Arduino ではオプションであるところのライブラリが多数含まれており、それがバイナリサイズの肥大化に繋がっているようです。この辺りの対策として、初期の web コンパイラがそうだったようにライブラリは必要に応じて追加する形を取るべきではないかと思います。