2024-09-30 04:15 AM
Hi,
I have a custom loader and am using STMCube32 IDE and QSPI. I have the linker etc all setup such that my assets (.c files of the BMPs) is loaded into QSPI and used by LVGL.
My question is - given loading via the STLink 5MB of images takes ~2 mins every time I want to build/run/debug etc, is there a more efficient method? Loading only the images once for example? Any advice welcome!
Thanks,
Matt
2024-09-30 04:32 AM
Hello,
Try the "NOLOAD" key in the linker script for QSPI memory region:
https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_21.html
2024-09-30 04:53 AM
Hi thank you. Had a quick read through, where would the tag actually need to go - below is my lnker - and I want QSPI to be a NOLOAD:
2024-09-30 05:00 AM
Put (NOLOAD) after .ExtFlashSection.
.ExtFlashSection (NOLOAD):
See for example: https://community.st.com/t5/stm32cubeide-mcus/how-to-enable-compiler-linker-to-manage-external-memory/td-p/205749
PS: I didn't test that before.
2024-09-30 06:18 AM
Unfortunately, it seems if we set NOLOAD the debugger tried to put it into the normal 'flash ' region instead:
.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: MESTDashV3.elf section `.ExtFlashSection' will not fit in region `FLASH'
Any other ideas?