なんとかなるさね

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


スポンサーサイト 

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

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

go page top

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

GadgetRenesas基板用IDE4GR 1.6.5/1.6.7(のようなもの)を作ってみることを考え始めたのですが、IDE4GR
0.6.1では、KURUMI基板用スケッチをビルドする時にはプリビルドコアライブラリを使うようになっている為、
KURUMI基板用コアライブラリのソースコードが含まれていませんのでソースコードを含めるようにする手が
無いものか2つ前のエントリで試してみました。その後、1つ前のエントリで何かしらの変更をソースコードに
加える時にやりやすくなるようにソースコードをArduino IDE内部のフォルダからスケッチフォルダ側へコピー
してビルドする方法を試してみました。

今回、ソースデバッグで支障が出ないようにコンパイル時の最適化レベルを下げるメニューをArduino IDEに
追加出来ないものかと思い、ボード情報定義ファイルのplatform.txtとboards.txtを変更して試してみました。
そして、そのボード情報定義ファイルを使用してArduino Eclipse pluginでも試してみました。




ファイル: スケッチブックフォルダ\hardware\GadgetRenesas_core_debug\rl78\platform.txt
変更内容: 赤字の箇所を追加(太字は変更部分)

# AVR compile variables
# ---------------------

compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

compiler.optimize_flags=-Os
compiler.optimize_flags.release=-Os
compiler.optimize_flags.debug=-O0


# Default "compiler.path" is correct, change only if you want to overidde the initial value
#compiler.path={runtime.ide.path}/hardware/tools/gcc-rl78/rl78-elf/bin/
#compiler.path={runtime.hardware.path}/tools/gcc-rl78/rl78-elf/bin/
compiler.path={runtime.tools.gcc-rl78.path}/rl78-elf/bin/
compiler.c.cmd=rl78-elf-gcc
#compiler.c.flags=-Os {compiler.warning_flags} -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g2 -g -DREL_GR_KURUMI -DARDUINO=100 -DWORKAROUND_READ_MODIFY_WRITE
compiler.c.flags={compiler.optimize_flags} {compiler.warning_flags} -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g2 -g -DREL_GR_KURUMI -DARDUINO=100 -DWORKAROUND_READ_MODIFY_WRITE
compiler.cpp.cmd={compiler.c.cmd}
compiler.cpp.flags={compiler.c.flags}
compiler.S.cmd=rl78-elf-as
#compiler.S.flags=-Os -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g2 -g -Wa,-gdwarf2
compiler.S.flags={compiler.optimize_flags} -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g2 -g -Wa,-gdwarf2
#compiler.elf2hex.flags=-O binary --gap-fill 0xff
compiler.elf2hex.flags=-O srec
compiler.elf2hex.cmd=rl78-elf-objcopy
compiler.c.elf.cmd=rl78-elf-ld
compiler.c.elf.flags=
compiler.ar.cmd=rl78-elf-ar
compiler.ar.flags=rcs
compiler.ldflags=
compiler.size.cmd=rl78-elf-size
# this can be overriden in boards.txt
build.extra_flags=
build.variant_core_lib="{build.variant.path}/core_v060.a"
build.variant_system_libs="{build.system.path}/proprietary/libs/picalicoFree.a" "{build.system.path}/proprietary/libs/pfdl.a"
# 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.
archive_file_path={build.path}/{archive_file}

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

menu.BuildConfig=Compile for

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=

kurumi.menu.BuildConfig.relese=Normal Use
kurumi.menu.BuildConfig.relese.compiler.optimize_flags={compiler.optimize_flags.release}
kurumi.menu.BuildConfig.debug=GDB Debugging
kurumi.menu.BuildConfig.debug.compiler.optimize_flags={compiler.optimize_flags.debug}


Arduino IDE 1.6.5/1.6.7で最適化レベルを切り替えてビルドしてみた時の画面コピーは以下の通りです。






なお、Arduino Eclipse pluginでビルドする時は、1つ前のエントリと同じビルド変数の設定内容を使いました。
(あと、今回の最適化レベルの変更は、プロジェクト(スケッチ)作成時だけでなく、作成後でもプロジェクトの
プロパティで行うことが出来ました。)






追記 : メモ

ちなみに、gcc-rl78フォルダにはGCCの他にGDBもあるのですが、GDBSERVERが無いのが惜しいところです。
(これは、gcc-rxフォルダの方も同様です。)



関連記事

2016/02/22   blog-entry-739   category: Arduino Lib & CrossGCC

go page top

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