なんとかなるさね

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


スポンサーサイト 

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

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

go page top

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

GadgetRenesas基板用IDE4GR 1.6.5/1.6.7(のようなもの)を作ってみることを考え始めたのですが、IDE4GR
0.6.1では、KURUMI基板用スケッチをビルドする時にはプリビルドコアライブラリを使うようになっている為、
KURUMI基板用コアライブラリのソースコードが含まれていませんのでソースコードを含めるようにする手が
無いものか前のエントリで試してみました。

前のエントリでは、コアライブラリのソースコードをcores\arduino_sourceフォルダに置くようにして、派生
スケッチ環境でコアライブラリのソースコードからスケッチをビルドすることを試してみたのですが、よくよく
考えてみると、プリビルドコアライブラリを使わずにコアライブラリのソースコードからビルドするケースと
いうのはコアライブラリをデバッグする必要に迫られている状況であり、デバッグの為あるいはデバッグの結果
として、何かしらの変更をソースコードに加えることになるような気がします。そう考えると、ソースコードを
Arduino IDE内部のフォルダからスケッチフォルダ側へコピーしてビルドする方が良さそうな気がしてきました。
そこで、以下のようなスケッチフォルダを作って試してみました。



基本的にはArduino IDE内部のhardware\GadgetRenesas\rl78フォルダをスケッチブックフォルダ側へコピー
してboards.txtを変更しただけです。boards.txtは以下のように変更しました。

ファイル: スケッチブックフォルダ\hardware\GadgetRenesas_core_debug\rl78\boards.txt
変更内容: 赤字の箇所を追加/変更

kurumi.name=GR-KURUMI (core debug)
途中省略
kurumi.build.mcu=rl78
kurumi.build.f_cpu=32000000L
kurumi.build.board=RL78_KURUMI
kurumi.build.core=arduino_source
kurumi.build.ldscript=linker_scripts/rl78_R5F100GJAFB.ld
kurumi.build.variant=gr_kurumi
kurumi.build.variant_core_lib=





なお、Arduino Eclipse pluginでビルドする時は、以前のエントリと同じく、ビルド変数を使いました。ただし、
以前のエントリとはplatform.txtが異なりますので、ビルド変数の設定内容は以下のようにしました。(そろそろ、
大元のplatform.txtの記述を修正することで対処出来ないかどうか考えた方が良さそうな気はしていますが。)

ビルド変数: A.RECIPE.C.COMBINE.PATTERN.1
変数の内容: "${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" "-M=${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.map" --whole-archive 

ビルド変数: A.RECIPE.C.COMBINE.PATTERN.2
変数の内容:  --no-whole-archive "${A.BUILD.VARIANT.PATH}/picalicoFree.a" "${A.BUILD.VARIANT.PATH}/pfdl.a" -e_PowerON_Reset "-T${A.BUILD.VARIANT.PATH}/${A.BUILD.LDSCRIPT}" ${A.COMPILER.C.ELF.FLAGS} "${A.RUNTIME.TOOLS.GCC-RL78.PATH}/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03/crtbegin.o" "${A.RUNTIME.TOOLS.GCC-RL78.PATH}/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03/crtend.o" "${A.RUNTIME.TOOLS.GCC-RL78.PATH}/rl78-elf/rl78-elf/lib/crtn.o" -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "-L${A.RUNTIME.TOOLS.GCC-RL78.PATH}/rl78-elf/rl78-elf/lib" "-L${A.RUNTIME.TOOLS.GCC-RL78.PATH}/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03" --start-group --gc-sections -lstdc++ -lnosys -lm -lc -lgcc --end-group






追記 : メモ

試しにスケッチブックフォルダ側へコピーしたコアライブラリのソースファイルの1つを以下のように変更して
みると期待通りコンパイルエラーになりました。

ファイル: スケッチブックフォルダ\hardware\GadgetRenesas_core_debug\rl78\cores\arduino_source\Stream.cpp
変更内容: 赤字の箇所を追加

#include "Arduino.h"
#include "Stream.h"

#error "test for core debug"

#define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait
#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field




関連記事

2016/02/16   blog-entry-738   category: Arduino Lib & CrossGCC

go page top

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