This page will introduce how the firmware template is structured and integrated with the different build tools we use. Here is a link to the repository.
[env:esp32s3]
platform = [email protected] ; espressif framework version we are using
board = esp32-s3-devkitc-1
board_build.ram = 520
board_build.flash_mode = dio ; our flash is dio not qio
board_build.partitions = ricpart.csv ; custom partition map
framework = espidf
lib_compat_mode = off ; we are using arduino as a component, so if we dont turn off lib compatibility check, arduino libraries in /lib wont be included
monitor_speed = 115200
extra_scripts=extra_script.py ; allows us to turn on frtti
build_flags =
-std=gnu++17 ; c++ version set to c++17
-D ARDUINO=100
-DESP32=1
-DARDUINO_ARCH_ESP32=1
-DARDUINO_USB_CDC_ON_BOOT=1 ; required to select the usb serial/jtag interface
-fexceptions ; enable exceptions
-Wno-missing-field-initializers
build_unflags =
-std=gnu++11
-fno-exceptions
-fno-rtti
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 2M,