Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう
Windows 11のArduino IDE 1.8.21/2.3.4ともに発生した現象です。
ここしばらくはまってしまいました。その対策のメモです。
(あくまでも、個人的な調査で保証のないた対応方法です)
Arduino STM32(Roger氏版)では、ツールチェーンの定義があいまいで、
ARM系の別のボート用パッケージ(Arduuino Uno R4など) をインストールしたりすると、
STM32のスケッチのコンパイル時に別のツールチェーンにてコンパイルされてしまうようです。
上の例ではSTM32環境では、arm-none-eabi-gcc 4.8.3-2014q1を利用していたのですが、
Arduino Uno R4のボード用のパッケージをインストールすると
arm-none-eabi-gcc-7-2017q4(gcc 7.2.1)が使われてしまっています。
調べると、Arduino STM32のボード関連の設定のhardware\Arduino_STM32\STM32F1\platform.txt の
ツールチェーンの設定と思われる個所が、
compiler.path={runtime.tools.arm-none-eabi-gcc.path}/bin/
となっていて、これだと指定があいまいのようです。
C:\Users\user\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\ に
ある複数のツールチェーン環境がある場合(下の画像)には、
別のツールチェーンが選択されてしまうようです。
arm-none-eabi-gcc フォルダにツールチェーン環境が複数あると、フォルダ名の降順で選択されるのかな?
試しに、7-2017q4フォルダを一時的にゴミ箱に移動してコンパイルしたところ、
4.8.3-2014q1 の方を利用してくれました。
対策として、hardware\Arduino_STM32\STM32F1\platform.txt の compiler.path を
compiler.path={runtime.tools.arm-none-eabi-gcc-4.8.3-2014q1.path}/bin/
とき修正することで、4.8.3-2014q1 の方を利用してくれました。
platform.txtの修正部分(抜粋)
・・・・・ # compiler variables # ---------------------- #compiler.path={runtime.tools.arm-none-eabi-gcc.path}/bin/ compiler.path={runtime.tools.arm-none-eabi-gcc-4.8.3-2014q1.path}/bin/ compiler.c.cmd=arm-none-eabi-gcc ・・・・・ |
ちなみにArduino Uno R4の場合、
\hardware\renesas_uno\1.3.2\boards.txt にツールチェーンの設定がしてあるようで、
・・・・・ minima.name=Arduino UNO R4 Minima minima.build.core=arduino minima.build.crossprefix=arm-none-eabi- minima.build.compiler_path={runtime.tools.arm-none-eabi-gcc-7-2017q4.path}/bin/ ・・・・・ |
となっていて、曖昧なく設定されているようです。
Arduino_Core_STM32の方も見てみましたが、曖昧なく設定されていました。
ArduinoのSTM32環境は、Roger氏版のメンテナンスがいまいちになってきており、
そろそろCore版の方に切り替えた方が良さそうですね。
« Windows環境不要かも.. | トップページ | 焼き芋ちゃんカレンダー、ポチリました(*´ω`*) »
「arduino」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
「ARM」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- PocketGoで遊んでみる(1)(2020.03.24)
- Arduino用 MML文演奏ライブラリの作成 その1(2019.04.01)
- BluePillボードで4桁7セグLEDの制御(2019.03.21)
「STM32」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- 「Arduino STM32 リファレンス 日本語版」が2万アクセス突破!(2021.03.26)
- SPI接続フラッシュメモリモジュールを入手しました(2020.05.13)
- Arduino STM32でキャラクタ液晶ディスプレイを使う(2019.06.01)
コメント