0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2021.11.10現在 → M5Stack + ArduinoIDE 環境での AquesTalk ESP32 利用時におけるリンカーエラー対策(とりあえず動作させたい人向け)

Posted at

はじめに

初投稿の覚書。
推奨されている方法は二の次で、とりあえず動作させたい人向けの記事。

現状、2種類の問題を確認。

1)リンク時、AquesTalk のコンパイル済みバイナリとリンクできないエラー(undefined reference to `CAqTkPicoF_SetKoe' 等)

 対策:下記のURLの通り。

 異なるところは、

 ・環境設定
 ・ボードマネージャ追加設定
 ・platform.txt のパス

2)リンカーが動作しない(cannot open linker script file esp32.rom.redefined.ld: そのようなファイルやディレクトリはありません)

 対策: ボードマネージャでインストールするバージョンを古めのバージョンにする。

環境設定

追加のボードマネージャURLに M5Stack のURLを追加。

https://www.adafruit.com/package_adafruit_index.json,https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

ボードマネージャ

M5Stackを追加。
注意点は2.0.0等の最新版は使わないこと(理由は不明……)。
1.0.9を使ってみたら成功した(1.0.6でも動作確認済み)。

Screenshot from 2021-11-10 10-16-34.png

platform.txt

編集対象の platform.txt の path は、Linux版では、

~/.arduino15/packages/m5stack/hardware/esp32/1.0.9/platform.txt 

となる。

編集内容は、以下の2点。

1)compiler.libraries.ldflags を空白に設定(なければ追加)

compiler.libraries.ldflags=

2)recipe.c.combine.pattern を以下に修正

recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} {compiler.libraries.ldflags} -Wl,--end-group -Wl,-EL -o "{build.path}/{build.project_name}.elf"

なお、platform.txt を直接編集せずに、上記内容を platform.local.txt に記述して、platform.txt と同じディレクトリに保存するのが推奨らしい。

platform.local.txt
compiler.libraries.ldflags=
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} {compiler.libraries.ldflags} -Wl,--end-group -Wl,-EL -o "{build.path}/{build.project_name}.elf"

これも、動作確認済み。


以上、取り急ぎご報告まで。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?