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:
Jakub
2026-10-01 09:23:50 +02:00
co-authored by Claude Opus 5.5
parent 2f3b95adb4
commit 38f5db5a61
7 changed files with 185 additions and 1 deletions
@@ -55,6 +55,12 @@ jobs:
echo "BUILD_VERSION=dev-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
fi
# The L2 links framework libs rebuilt for its own ESP-IDF options
# (solo/wio-tracker-l2/idf/sdkconfig), which this env builds first.
- name: Rebuild framework libs
if: matrix.env == 'Wio_Tracker_L2_companion_solo_lvgl'
run: pio run -e Wio_Tracker_L2_idf_libs
- name: Build Firmware
env:
FIRMWARE_VERSION: ${{ env.BUILD_VERSION }}