mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 10:51:57 +00:00
perf(l2): bigger CPU instruction cache, TLS and BLE buffers in PSRAM
The framework libs are rebuilt for the L2's own ESP-IDF options (solo/wio-tracker-l2/idf/sdkconfig): a 32 KB instruction cache and 64-byte data cache lines make frames ~35% faster (map 45 -> 30 ms, settings ~36 -> 22 ms). mbedTLS and the NimBLE host allocate in PSRAM, so internal RAM ends up with more free than before (103 KB, largest block 57 KB; was 89.6 / 45). Wio_Tracker_L2_idf_libs does the rebuild; it has to run before the firmware env, also in CI. idf/arduino_tinyusb gives the rebuild the TinyUSB options and the framework's prebuilt library, which it would otherwise lose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,6 +48,9 @@ platform = https://github.com/pioarduino/platform-espressif32/releases/download/
|
||||
; a computer as a USB drive (ui-lvgl/LvglPort.h). A firmware that crashes
|
||||
; early may need BOOT held over reset to flash.
|
||||
build_unflags = -DARDUINO_USB_MODE=1
|
||||
; Bigger CPU caches and other ESP-IDF options (idf/sdkconfig): the framework
|
||||
; libs are rebuilt for them. Build Wio_Tracker_L2_idf_libs first (see there).
|
||||
custom_sdkconfig = file://solo/wio-tracker-l2/idf/sdkconfig
|
||||
build_flags =
|
||||
${Wio_Tracker_L2.build_flags}
|
||||
-D ARDUINO_USB_MODE=0
|
||||
@@ -121,3 +124,18 @@ lib_deps =
|
||||
Preferences
|
||||
LittleFS
|
||||
|
||||
; Rebuilds the framework libs (ESP-IDF) with the custom_sdkconfig above; the
|
||||
; firmware env above then links them. Run once before it, and again after a
|
||||
; custom_sdkconfig change (pio run -e Wio_Tracker_L2_idf_libs). Needed because
|
||||
; pioarduino's rebuild pass compiles the env's own sources without its include
|
||||
; paths and libraries, which fails for ours; this env's only source is the
|
||||
; stub sketch pioarduino puts in .dummy/. idf/ supplies the TinyUSB options.
|
||||
[env:Wio_Tracker_L2_idf_libs]
|
||||
platform = ${env:Wio_Tracker_L2_companion_solo_lvgl.platform}
|
||||
board = seeed_wio_tracker_l2
|
||||
framework = arduino
|
||||
custom_sdkconfig = ${env:Wio_Tracker_L2_companion_solo_lvgl.custom_sdkconfig}
|
||||
board_build.cmake_extra_args = -DEXTRA_COMPONENT_DIRS=${platformio.src_dir}/../.dummy;${platformio.packages_dir}/framework-arduinoespressif32;${platformio.src_dir}/../solo/wio-tracker-l2/idf
|
||||
lib_deps =
|
||||
lib_ldf_mode = off
|
||||
build_src_filter = +<../.dummy/*>
|
||||
|
||||
Reference in New Issue
Block a user