なんとかなるさね

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


スポンサーサイト 

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

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

go page top

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

前のエントリでPicalicoFreeのサンプルプログラムがArduino IDE 1.6.7でビルド出来なかった件は、Arduino
IDE 1.6.6から追加されていたグローバルな作用を持つ別のplatform.txtに対応出来ていなかったのが原因でした。
加えて、それに対処した後も、元々ちょっと強引なやり方だったこともあり、別の問題も発生して暫くビルド
出来ませんでした。ですが、すっきりとした対処になっていない部分もあるものの、何とかビルド出来るように
なりました。

まず最初の問題ですが、Arduino IDE 1.6.6から追加されていたグローバルな作用を持つ以下のplatform.txtに
対応出来ていなかった為に、そこに記述されていたレシピでヘッダファイル不足エラーが発生したことです。

ファイル: arduino-1.6.7\hardware\platoform.txt
内容:

# ctags
# ------------------------------
tools.ctags.path={runtime.tools.ctags.path}
tools.ctags.cmd.path={path}/ctags
tools.ctags.pattern="{cmd.path}" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "{source_file}"

# additional entries
tools.avrdude.path={runtime.tools.avrdude.path}

preproc.includes.flags=-w -x c++ -M -MG -MP
preproc.includes.compatibility_flags={build.mbed_api_include} {build.nRF51822_api_include} {build.ble_api_include} {compiler.libsam.c.flags} {compiler.arm.cmsis.path} {build.variant_system_include}
recipe.preproc.includes="{compiler.path}{compiler.cpp.cmd}" {preproc.includes.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {preproc.includes.compatibility_flags} {includes} "{source_file}"

preproc.macros.flags=-w -x c++ -E -CC
preproc.macros.compatibility_flags={build.mbed_api_include} {build.nRF51822_api_include} {build.ble_api_include} {compiler.libsam.c.flags} {compiler.arm.cmsis.path} {build.variant_system_include}
recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} {preproc.macros.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {preproc.macros.compatibility_flags} {includes} "{source_file}" -o "{preprocessed_file_path}"

Arduino IDE 1.6.6から追加されていたグローバルな作用を持つplatform.txt


それより前から存在している今まで試して来たものに相当するplatform.txt


そこで、まず以下の変更を行いました。

ファイル: ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\platform.txt
変更内容: 赤字の箇所を追加

# AVR compile patterns
# --------------------

途中省略

## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).*
recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*

## Preprocessor (Following defines are used in the global platform.txt of Arduino IDE 1.6.6 or later.)
preproc.includes.compatibility_flags={build.variant_system_includes}
preproc.macros.compatibility_flags={build.variant_system_includes}


そして、対処した後に発生した別の問題ですが、PicalicoFreeライブラリのソース(PcalicoClass.cpp)がビルド
されず、リンク時にシンボル未解決エラーが発生したことです。どうも、今回のやり方はArduino IDE(というか
arduino-builder.exe)がライブラリのソースファイルを探す処理フローを誤動作させているようでした。(どうも、
レシピで指定しているインクルードパスに見付かったヘッダファイルはライブラリのソースのヘッダファイル
ではなくコンパイラが提供しているシステムヘッダファイル(またはそれに準じるヘッダファイル)であると解釈
するようになっているようです。) ですが、試行錯誤している内に、以下のように変更することで誤動作を回避
出来ることに気付きました。

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

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

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


ファイル: ユーザプロファイルフォルダ\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 */

/* 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\platform.txt
変更内容: 赤字の箇所を追加

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

途中省略

# These can be overridden in boards.txt of GadgetRenesas
# (Specifying "examples" sub-folder of "PicalicoFree" folder 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.ide4gr.path}/hardware/arduino/rl78/variants/gr_kurumi/picalicoFree.a" "{runtime.tools.ide4gr.path}/hardware/arduino/rl78/variants/gr_kurumi/pfdl.a"
build.variant_system_includes="-I{runtime.tools.ide4gr.path}/hardware/arduino/rl78/libraries/PicalicoFree/examples" "-I{runtime.tools.ide4gr.path}/hardware/arduino/rl78/libraries/EEPROM/utility"

ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\hardware側



ユーザプロファイルフォルダ\AppData\Local\Arduino15\packages\GadgetRenesas\tools側


なお、発生していたエラーは以下の通りです。

最初のもの

エラーメッセージ:
E:\tools\micom\Arduino\arduino-1.6.7\arduino-builder -dump-prefs -logger=machine -hardware "E:\tools\micom\Arduino\arduino-1.6.7\hardware" -hardware "C:\Users\UserName\AppData\Local\Arduino15\packages" -hardware "E:\tools\micom\Arduino\sketchbook4\hardware" -tools "E:\tools\micom\Arduino\arduino-1.6.7\tools-builder" -tools "E:\tools\micom\Arduino\arduino-1.6.7\hardware\tools\avr" -tools "C:\Users\UserName\AppData\Local\Arduino15\packages" -built-in-libraries "E:\tools\micom\Arduino\arduino-1.6.7\libraries" -libraries "E:\tools\micom\Arduino\sketchbook4\libraries" -fqbn=GadgetRenesas:rl78:kurumi -ide-version=10607 -build-path "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp" -warnings=default -prefs=build.warn_data_percentage=75 -verbose "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach\picalico_detach.ino"
E:\tools\micom\Arduino\arduino-1.6.7\arduino-builder -compile -logger=machine -hardware "E:\tools\micom\Arduino\arduino-1.6.7\hardware" -hardware "C:\Users\UserName\AppData\Local\Arduino15\packages" -hardware "E:\tools\micom\Arduino\sketchbook4\hardware" -tools "E:\tools\micom\Arduino\arduino-1.6.7\tools-builder" -tools "E:\tools\micom\Arduino\arduino-1.6.7\hardware\tools\avr" -tools "C:\Users\UserName\AppData\Local\Arduino15\packages" -built-in-libraries "E:\tools\micom\Arduino\arduino-1.6.7\libraries" -libraries "E:\tools\micom\Arduino\sketchbook4\libraries" -fqbn=GadgetRenesas:rl78:kurumi -ide-version=10607 -build-path "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp" -warnings=default -prefs=build.warn_data_percentage=75 -verbose "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach\picalico_detach.ino"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc"  -Os -w -MMD -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 -w -x c++ -E -CC -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_RL78_KURUMI -DARDUINO_ARCH_RL78         "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp" -o "nul"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc"  -Os -w -MMD -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 -w -x c++ -E -CC -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_RL78_KURUMI -DARDUINO_ARCH_RL78         "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp" -o "nul"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc"  -Os -w -MMD -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 -w -x c++ -E -CC -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_RL78_KURUMI -DARDUINO_ARCH_RL78         "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp" -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
In file included from C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach\picalico_detach.ino:8:0:

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree/PicalicoClass.h:27:26: fatal error: PicalicoFree.h: No such file or directory

#include "PicalicoFree.h"

                          ^


対処した後に発生したもの

エラーメッセージ:
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/PicalicoFree" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/EEPROM/utility" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" -Os  -MMD -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 -c -x c++   "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp" -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/PicalicoFree" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/EEPROM/utility" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" -Os  -MMD -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 -c -x c -I"W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp"   "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino\interrupt_handlers.c" -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\interrupt_handlers.c.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/PicalicoFree" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/EEPROM/utility" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" -Os  -MMD -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 -c -x c -I"W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp"   "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino\vector_table.c" -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\vector_table.c.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/PicalicoFree" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/libraries/EEPROM/utility" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino" "-IC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi" -Os  -MMD -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 -c -x c++   "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\cores\arduino\exception_handler.cpp" -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\exception_handler.cpp.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-ar" rcs  "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\core.a" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\interrupt_handlers.c.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-ar" rcs  "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\core.a" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\vector_table.c.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-ar" rcs  "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\core.a" "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\exception_handler.cpp.o"
"C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-ld" "-M=W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp/picalico_detach.ino.map" --whole-archive "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\core\core.a" --no-whole-archive "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp.o" "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi/core_v060.a" "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/variants/gr_kurumi/picalicoFree.a" "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/arduino/rl78/variants/gr_kurumi/pfdl.a" -e_PowerON_Reset "-TC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\variants\gr_kurumi/linker_scripts/rl78_R5F100GJAFB.ld"  "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03/crtbegin.o" "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03/crtend.o" "C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/rl78-elf/lib/crtn.o"  -o "W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp/picalico_detach.ino.elf" "-LC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/rl78-elf/lib" "-LC:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/lib/gcc/rl78-elf/4.8-GNURL78_v14.03" --start-group --gc-sections -lstdc++ -lnosys -lm -lc -lgcc --end-group
C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\tools\ide4gr\0.6.1/hardware/tools/gcc-rl78/rl78-elf/rl78-elf/lib\libstdc++.a(pure.o): In function `__cxa_pure_virtual':

(.text.__cxa_pure_virtual+0x12): warning: _write is not implemented and will always fail

W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp.o: In function `setup':

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach/picalico_detach.ino:14: undefined reference to `Picalico::attach(int, int, int)'

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach/picalico_detach.ino:15: undefined reference to `Picalico::write(int)'

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach/picalico_detach.ino:19: undefined reference to `Picalico::detach()'

W:\Temp\UserName\buildc5b67bf12c1ed68ba1cdf362a33caab3.tmp\sketch\picalico_detach.ino.cpp.o: In function `_static_initialization_and_destruction_0':

C:\Users\UserName\AppData\Local\Arduino15\packages\GadgetRenesas\hardware\rl78\0.1.0\libraries\PicalicoFree\examples\picalico_detach/picalico_detach.ino:10: undefined reference to `Picalico::Picalico(int)'


結果として、すっきりとした対処になっていない部分もあるものの、PicalicoFreeは何とかビルド出来るように
なりました。

ビルド出来るようになった


追記 : メモ

ちなみに、グローバルな作用を持つplatform.txtがあるフォルダにplatform.keys.rewrite.txtというファイルも
ありますが、内容は以下の通りでした。(このファイルはArduino IDE 1.6.6より前でも存在していたものです。
もっとも、こんなに長いファイルではなくて、もっと短いファイルでしたが。)

ファイル: arduino-1.6.7\hardware\platform.keys.rewrite.txt
内容:

old.0.compiler.path={runtime.ide.path}/hardware/tools/avr/bin/
new.0.compiler.path={runtime.tools.avr-gcc.path}/bin/

old.1.tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
new.1.tools.avrdude.cmd.path={path}/bin/avrdude

old.2.tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
new.2.tools.avrdude.config.path={path}/etc/avrdude.conf

old.3.compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/
new.3.compiler.path={runtime.tools.arm-none-eabi-gcc.path}/bin/

old.4.tools.bossac.path={runtime.ide.path}/hardware/tools
new.4.tools.bossac.path={runtime.tools.bossac.path}

old.5.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc
new.5.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/core/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc

#specific to RedBearLab nRF51822 Boards
old.6.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb -Wl,--gc-sections --specs=nano.specs -Wl,--wrap,main -Wl,-Map={build.path}/{build.project_name}.map,--cref "-T{build.variant.path}/{build.ldscript}" -o "{build.path}/{build.project_name}.elf" -Wl,--start-group "{build.path}/system_nrf51.c.o" {object_files} "{build.path}/startup_NRF51822.s.o" "{build.path}/{archive_file}" -Wl,--end-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
new.6.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb -Wl,--gc-sections --specs=nano.specs -Wl,--wrap,main -Wl,-Map={build.path}/{build.project_name}.map,--cref "-T{build.variant.path}/{build.ldscript}" -o "{build.path}/{build.project_name}.elf" -Wl,--start-group "{build.path}/core/mbed/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/system_nrf51.c.o" {object_files} "{build.path}/core/startup_NRF51822.S.o" "{build.path}/{archive_file}" -Wl,--end-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys

#specific to RFduino 1.6.3
old.7.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} {build.extra_flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -Wl,--cref -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/syscalls.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.variant.path}/libRFduino.a" "{build.variant.path}/libRFduinoBLE.a" "{build.variant.path}/libRFduinoGZLL.a" "{build.path}/{archive_file}" -Wl,--end-group
new.7.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} {build.extra_flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -Wl,--cref -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/core/syscalls.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.variant.path}/libRFduino.a" "{build.variant.path}/libRFduinoBLE.a" "{build.variant.path}/libRFduinoGZLL.a" "{build.path}/{archive_file}" -Wl,--end-group

old.8.recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
new.8.recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"

old.9.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc
new.9.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/core/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc

#specific to Digistump AVR Boards 1.5.4
old.10.recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"
new.10.recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{archive_file_path}" "{object_file}"

old.11.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
new.11.recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{archive_file_path}" "-L{build.path}" -lm

#generic again
old.12.recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.macros.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}"
new.12.recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.macros.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{preprocessed_file_path}"

関連記事

2016/04/01   blog-entry-751   category: Arduino Lib & CrossGCC

go page top

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