焼き芋ちゃんカレンダー、ポチリました(*´ω`*)
「保護団体 ねこのて」さんの保護猫 「焼き芋ちゃん」カレンダー」ゲットしました(*´ω`*)
茶とらねこ好きには、たまりません(*´ω`*)
« 2024年12月 | トップページ | 2025年2月 »
「保護団体 ねこのて」さんの保護猫 「焼き芋ちゃん」カレンダー」ゲットしました(*´ω`*)
茶とらねこ好きには、たまりません(*´ω`*)
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版の方に切り替えた方が良さそうですね。
Zorin OSをインスタグラムして使っているのですが、意外と快適です。
もう、個人利用ではWindows不要ですね〜
長きに渡って使っていたマイクロソフト365 サブスクリプションも
今回の値上げを受け、次回の更新は行わないことにしました。
よく考えたら、代替え環境はいくらでもあるので使う必要ないですね〜
開発環境として「Linux環境」もほしいと思い、使っていなかったパソコンにZorin OSをインストールしました。
使い勝手は、Office関連が使えない以外、Windowsと遜色ない感じですね〜
Arduino関連の環境を整備で、
純正のArduino UNOボードへのスケッチ書き込みは問題なかったのですが、
シリアルIFにCH340を使っている互換ボードが認識してくれません。
色と調べて、下記のサイトの記事を参考にして解決することが出来ました。情報公開に感謝(_ _)
・ServerCan.Net - Ubuntu 22.04でCH340 USBシリアルコンバータが使えない
しばらくは、Zorin OS上にて環境整備を行っていきます。
2025/02/11 更新
本件、非公開を解除しました。
無言・コメント無し・いいね無しで意味不明なアクセス集中ページがあり、
SNSで不適切な内容のため炎上・さらし者になっている可能性があり、
該当ページを一時的に非公開とします。ご了承ください。
古い記事であるため、現状と内容が異なっているかもしれません。
不適切な記事で被害を受けてしまった方については、申し訳ございませんm(__)m
■ 非公開にしたページ
「Wordで游明朝を使って行数を増やすと行間が広がる問題」
https://nuneno.cocolog-nifty.com/blog/2019/04/post-c4b579.html
不適切な内容については、ご指摘・コメントして頂けると助かりますm(__)m
Arduino IDE 2.3.4の環境に Arduino STM32(rogerclarkmelbourne/Arduino_STM32) を導入して
スケッチをコンパイルして書き込もうとすると書き込み時にエラーが発生して書き込みできませんでした(>_<)
エラーメッセージは次のような感じです。
maple_loader v0.1 Resetting to bootloader via DTR pulse # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000007110b5db, pid=11628, tid=15548 # # JRE version: OpenJDK Runtime Environment Corretto-21.0.5.11.1 (21.0.5+11) (build 21.0.5+11-LTS) # Java VM: OpenJDK 64-Bit Server VM Corretto-21.0.5.11.1 (21.0.5+11-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) # Problematic frame: # C [jSSC-2.8_x86_64.dll+0xb5db] # # No core dump will be written. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # C:\home\Arduino\hardware\Arduino_STM32\tools\win\hs_err_pid11628.log # # If you would like to submit a bug report, please visit: # https://github.com/corretto/corretto-21/issues/ # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # |
原因を調べると、Arduino STM32に付属しているJavaのWindows環境用シリアル通信モジュールjssc.jar が最新版のjavaに対して、
古すぎて動作しないようです。
確認すると11年前のライブラリです(-_-;)
下記のサイトからjsscを入手して、差し替えを行ったところ書き込めるようになりました(*´ω`*)
java-native/jssc https://github.com/java-native/jssc/releases
jssc-2.9.6.jar をダウンロードして、\hardware\Arduino_STM32\tools\win\lib\jssc.jar をjssc-2.9.6.jar に置き換えると
問題なく書き込み出来ました。
(追記)
Arduino IDE 1.8.X系はで、IDEにjavaが添付されているのでjavaのインストールは不要なのですが、
Arduino IDE 2.X系は添付されていないため、別途Javaのインストールが必要です。
今回の利用では、Open Java Development Kit (OpenJDK)であるAmazon Corretto 21を使っています。
Corretto 8だと、書き込みエラーを起こすことがあったのですが、Corretto 21だと安定しているようです。
最近のコメント