タイトルの通り、macOS Big Sur (ver. 11.1)へアップデート後、Arduinoを使ってESP8266へプログラムを書き込み(アップロード)しようとした際、次のエラーが発生しました。
Executable segment sizes:
IROM : 327812 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 28100 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1252 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 3348 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 25512 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 360512 bytes (34%) of program storage space. Maximum is 1044464 bytes.
Global variables use 30112 bytes (36%) of dynamic memory, leaving 51808 bytes for local variables. Maximum is 81920 bytes.
pyserial or esptool directories not found next to this upload.py tool.
An error occurred while uploading the sketch
ポイントとしては次の行のように、シリアル通信の際にpyserialかesptoolが見つからない、と言っている模様。 調べると、フォーラムですでに話題になっており、juansslさんの投稿そのままで解決した。回避方法は次のとおり。
~/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/pyserial/serial/tools/list_ports_osx.pyの29,30行目をコメントアウトし、続けてコードを追記。次のようになればOK。
list_ports_osx.py
…
# iokit = ctypes.cdll.LoadLibrary(ctypes.util.find_library('IOKit'))
# cf = ctypes.cdll.LoadLibrary(ctypes.util.find_library('CoreFoundation'))
iokit = ctypes.cdll.LoadLibrary('/System/Library/Frameworks/IOKit.framework/IOKit')
cf = ctypes.cdll.LoadLibrary('/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation')
…
これで保存し、再書き込み(再アップロード)すると、無事エラーも無く動作しました。どうやら、ESP8266のコアバージョンが古すぎることが問題のようで、今後アップデートがリリースされるまで(いつになるでしょうか…)このような形で対処するしかない様子。
6950657141462069495
https://www.storange.jp/2020/12/macos-big-suresp8266.html
https://www.storange.jp/2020/12/macos-big-suresp8266.html
macOS Big SurでESP8266へ書き込むと発生するエラーへの対処法
2020-12-30T14:03:00+09:00
https://www.storange.jp/2020/12/macos-big-suresp8266.html
Hideyuki Tabata
Hideyuki Tabata
200
200
72
72