My platformio.ini
[env:esp32-c3-devkitm-1]
platform = espressif32
platform_packages =
toolchain-riscv32-esp@12.2.0+20230208
board = esp32-c3-devkitm-1
framework = arduino
lib_deps =
arduino-libraries/ArduinoMqttClient@^0.1.8
bblanchon/ArduinoJson@^7.0.3
monitor_speed = 9600
build_unflags =
-std=gnu++11
-std=gnu++14
-std=gnu++17
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D MQTT_CLIENT_STD_FUNCTION_CALLBACK=1
-std=gnu++20
build output:
Dependency Graph
|-- ArduinoMqttClient @ 0.1.8
|-- ArduinoJson @ 7.0.3
|-- Bemfa
|-- BoringLight
|-- HomeAssistant
|-- PT8041
Building in release mode
Compiling .pio\build\esp32-c3-devkitm-1\FrameworkArduino\wiring_pulse.c.o
In file included from C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/freertos/portable.h:51,
from C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/freertos/FreeRTOS.h:63,
from C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:33,
from C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/cores/esp32/wiring_private.h:31,
from C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/cores/esp32/wiring_pulse.c:18:C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/port/riscv/include/freertos/portmacro.h:440:1: warning: ignoring attribute 'section (".iram1.24")' because it conflicts with previous 'section (".iram1.22")' [-Wattributes]
440 | {
| ^
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/port/riscv/include/freertos/portmacro.h:271:30: note: previous declaration here
271 | static inline bool IRAM_ATTR xPortCanYield(void);
| ^~~~~~~~~~~~~
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h: Assembler messages:
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr s2,0x7e2', extension `zicsr' required
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr s3,0x7e2', extension `zicsr' required
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr a0,0x7e2', extension `zicsr' required
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr a5,0x7e2', extension `zicsr' required
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr a5,0x7e2', extension `zicsr' required
C:/Users/yuki/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include/hal/cpu_ll.h:54: Error: unrecognized opcode `csrr a5,0x7e2', extension `zicsr' required
*** [.pio\build\esp32-c3-devkitm-1\FrameworkArduino\wiring_pulse.c.o] Error 1
============================================ [FAILED] Took 5.92 seconds ============================================
I have no problem when I use gnu++17, but there are some new features from gnu++20 I wan to try.