フォト
2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  
無料ブログはココログ

« Windows環境不要かも.. | トップページ | 焼き芋ちゃんカレンダー、ポチリました(*´ω`*) »

2025年1月23日 (木)

Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう

Windows 11のArduino IDE 1.8.21/2.3.4ともに発生した現象です。
ここしばらくはまってしまいました。その対策のメモです。
(あくまでも、個人的な調査で保証のないた対応方法です)

Arduino STM32(Roger氏版)では、ツールチェーンの定義があいまいで、
ARM系の別のボート用パッケージ(Arduuino Uno R4など) をインストールしたりすると、
STM32のスケッチのコンパイル時に別のツールチェーンにてコンパイルされてしまうようです。

20250123-181415

上の例では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\
ある複数のツールチェーン環境がある場合(下の画像)には、
20250123-182340

別のツールチェーンが選択されてしまうようです。
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」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Windows環境不要かも.. | トップページ | 焼き芋ちゃんカレンダー、ポチリました(*´ω`*) »