esp8266 / Arduino

ESP8266 core for Arduino
GNU Lesser General Public License v2.1
16.07k stars 13.33k forks source link

Warning: Board esp32:esp32:esp32_family doesn't define a 'build.board' preference. Auto-set to: ESP32_ESP32_FAMILY #9148

Closed Rob58329 closed 5 months ago

Rob58329 commented 5 months ago

Basic Infos

Platform

Settings in IDE

Problem Description

During compilation I was getting the warning:

Using board 'd1_mini' from platform in folder: C:\ArduinoIDE1819_v9\arduino-1.8.19\hardware\esp8266\esp8266
Using core 'esp8266' from platform in folder: C:\arduino-1.8.19\hardware\esp8266\esp8266
Warning: Board esp32:esp32:esp32_family doesn't define a 'build.board' preference. Auto-set to: ESP32_ESP32_FAMILY
"C:\\arduino-1.8.19\\hardware\\esp8266\\esp8266/tools/python3/python3" -I "C:\\arduino-1.8.19\\hardware\\esp8266\\esp8266/tools/makecorever.py" --build_path "C:\\Users\\xx\\AppData\\Local\\Temp\\arduino_build_434145" --platform_path "C:\\arduino-1.8.19\\hardware\\esp8266\\esp8266" --version 3.2.0-dev

And once flashed the ESP8266 was performing very strangely. In particular it was crashing very frequently, sometimes when trying to connect to wifi, and at other times when triying to do an "OTA_Updater.setup(&OTA_Server)" command.

Note that the above message was the ONLY mention of the ESP32 in the compile messages, and the IDE did not APPEAR to use any software from the ESP32 directories.

MCVE Sketch

a simple OTA sketch using "OTA_Updater.setup(&OTA_Server)".

Debug Messages

Exception 0: Illegal instruction
PC: 0x4023d334
EXCVADDR: 0x00000000

Decoding stack results
0x402154a1: mem_malloc at core/mem.c line 210
0x40208d56: loop_task(ETSEvent*) at C:\arduino-1.8.19\hardware\esp8266\esp8266\cores\esp8266\core_esp8266_main.cpp line 278
0x401000a7: app_entry_redefinable() at C:\arduino-1.8.19\hardware\esp8266\esp8266\cores\esp8266\core_esp8266_main.cpp line 391
0x401001a0: ets_post(uint8, ETSSignal, ETSParam) at C:\arduino-1.8.19\hardware\esp8266\esp8266\cores\esp8266\core_esp8266_main.cpp line 243
0x4023ce78: netif_set_addr at glue-esp/lwip-esp.c line 583
0x40204df4: ESP8266WiFiSTAClass::status() at C\arduino-1.8.19\hardware\esp8266\esp8266\libraries\ESP8266WiFi\src\ESP8266WiFiSTA.cpp line 595
etc...

Resolution

Note that closing and re-starting the Arduino-IDE software did not have any effect on this issue. Also doing a "erase-All-Flash-Contents" did not have any effect on this issue. Also changing the IDE Setting "Board: " to the "Generic ESP8266 Module" did not have any effect on this issue.

The fix was to completely remove the Arduino IDE's "/hardware/ESP32" directory (to some other location), so that the Arduino IDE software couldn't find any reference to the ESP32. The "Warning: Board esp32:esp32:esp32_family doesn't define a 'build.board' preference. Auto-set to: ESP32_ESP32_FAMILY" compile-time warning then stopped occuring, and the flashed ESP8266 software then started working properly.

This info might be useful for anyone who also comes across this issue.

UPDATE (2Jun24): A possible perminant-fix for the above was actually to delete and then re-download/install an EARLIER version of the "github.com/espressif/arduino-esp32" software (eg. as at 14Jun23 last year). So it would appear that even though the Arduino IDE was set to use the ESP8266 software, somehow the newest version of the ESP32 software (as at 2Jun24) was generating the compilation warning: "Warning: Board esp32:esp32:esp32_family doesn't define a 'build.board' preference. Auto-set to: ESP32_ESP32_FAMILY" even for ESP8266 boards, and somehow interfering with the ESP8266 compilation (but I've no idea how it could have been doing this!)