You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Place model PTE in DDR to fix FVP link-time memory overflow (#19199)
### Summary
The MV2 model PTE (~3.5 MB) overflows both the 512 KiB ITCM (FLASH) and
2 MiB ISRAM (RAM) regions on Corstone-300 FVP, and similarly on
Corstone-320.
Fix: declare a DDR memory region (0x7000_0000, 16 MiB) via DTS overlay
on both FVP boards and route the network_model_sec linker section there
via a Zephyr linker snippet. A new Kconfig option
ET_ARM_MODEL_PTE_DMA_ACCESSIBLE (enabled for FVP boards) tells main.cpp
to use the model blob in-place instead of memcpy-ing it into a second
SRAM buffer, since the Ethos-U can DMA from DDR on the FVP.
Also adds pool-size overrides for Corstone-320 (previously only had
CONFIG_ETHOS_U=y).
### TestPlan
#### Before this fix:
ld.bfd: region `FLASH' overflowed by 3,476,864 bytes
ld.bfd: region `RAM' overflowed by 3,128,920 bytes
Build fails — the 3.4 MB PTE blob can't fit in 512 KB FLASH + 2 MB
ISRAM.
#### After this fix:
FLASH: 459,668 B / 512 KB (87.67%) ✓
RAM: 1,684,632 B / 2 MB (80.33%) ✓
MODEL_DDR: 3,541,440 B / 16 MB (21.11%) ← model blob here
Build succeeds. The FVP boots and the Ethos-U NPU initializes. Full
inference would complete but takes 10-20 min of wall clock in
cycle-accurate simulation.
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments