Quick feather region rom overflow

Post Reply
frankie
Posts: 14
Joined: Fri Apr 23, 2021 7:06 am

As picture attached, rom size is not enough after adding some sensor drivers. How to add more space in rom region? I found quickfeather.ld in GCC_Project folder and the origin for ROM section is 0x00. As my understanding, 0x00 is for bootloader and 0x80000 is for m4app. Is quickfeather.ld the right file for qf_ssi_ai_app?



MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x0002C000
ram (rwx) : ORIGIN = 0x2002C000, LENGTH = 0x0003c800
spiram (rw) : ORIGIN = 0x20063800, LENGTH = 0x0000800
HWA (rw) : ORIGIN = 0x20064000, LENGTH = 0x00018000
shm : ORIGIN = 0x2007C000, LENGTH = 0x00004000
}


BTW, should we modify tinyfpga-programmer-gui.py to meet the changes of rom region in .ld file?
Attachments
2.jpg
2.jpg (110.56 KiB) Viewed 281131 times
1.jpg
1.jpg (46.65 KiB) Viewed 281131 times
frankie
Posts: 14
Joined: Fri Apr 23, 2021 7:06 am

It works after change the rom length and modify the origin address for the other section in quickfeather.ld.

MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
ram (rwx) : ORIGIN = 0x20040000, LENGTH = 0x0003c800
spiram (rw) : ORIGIN = 0x2007c800, LENGTH = 0x0000800
HWA (rw) : ORIGIN = 0x2007d000, LENGTH = 0x00018000
shm : ORIGIN = 0x20095000, LENGTH = 0x00004000
}

Memory region Used Size Region Size %age Used
rom: 206228 B 256 KB 78.67%
ram: 193744 B 242 KB 78.18%
spiram: 0 GB 2 KB 0.00%
HWA: 0 GB 96 KB 0.00%
shm: 0 GB 16 KB 0.00%
Convert ELF to BIN
Create text symbol table.
make[1]: Leaving directory '/mnt/d/GitHub/qorc-sdk/qf_apps/qf_ssi_ai_app/GCC_Project'
spurgenotion
Posts: 3
Joined: Mon Apr 10, 2023 7:26 am

frankie wrote: Wed Aug 24, 2022 3:37 am It works after change the rom length and modifygeometry dash world the origin address for the other section in quickfeather.ld.

MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
ram (rwx) : ORIGIN = 0x20040000, LENGTH = 0x0003c800
spiram (rw) : ORIGIN = 0x2007c800, LENGTH = 0x0000800
HWA (rw) : ORIGIN = 0x2007d000, LENGTH = 0x00018000
shm : ORIGIN = 0x20095000, LENGTH = 0x00004000
}

Memory region Used Size Region Size %age Used
rom: 206228 B 256 KB 78.67%
ram: 193744 B 242 KB 78.18%
spiram: 0 GB 2 KB 0.00%
HWA: 0 GB 96 KB 0.00%
shm: 0 GB 16 KB 0.00%
Convert ELF to BIN
Create text symbol table.
make[1]: Leaving directory '/mnt/d/GitHub/qorc-sdk/qf_apps/qf_ssi_ai_app/GCC_Project'
Many thanks for that solution.
designdev
Posts: 2
Joined: Sat Oct 18, 2025 9:25 am

frankie wrote: Wed Aug 24, 2022 3:37 am It works after change the rom length and modify the origin address for the other section in quickfeather.ld.

MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
ram (rwx) : ORIGIN = 0x20040000, LENGTH = 0x0003c800
spiram (rw) : ORIGIN = 0x2007c800, LENGTH = 0x0000800
HWA (rw) : ORIGIN = 0x2007d000, LENGTH = 0x00018000
shm : ORIGIN = 0x20095000, LENGTH = 0x00004000
}

Memory region Used Size Region Size %age Used
rom: 206228 B 256 KB 78.67%
ram: 193744 B 242 KB 78.18%
spiram: 0 GB 2 KB 0.00%
HWA: 0 GB 96 KB 0.00%
shm: 0 GB 16 KB 0.00%
Convert ELF to BIN
Create text symbol table.
make[1]: Leaving directory '/mnt/d/GitHub/qorc-sdk/qf_apps/qf_ssi_ai_app/GCC_Project'
Thanks for the tip — changing the ROM length and origin address did the trick! Just to clarify: is there a recommended way to calculate safe values for other sections like `spiram` or `HWA` if usage increases?
I love minimal mehndi design so much.
Niamh Kirby
Posts: 1
Joined: Mon Jan 12, 2026 4:34 am

Hey, thanks for sharing this! I've bumped into similar ROM size issues when trying to cram in extra features. Modifying the quickfeather.ld file seems like the right approach for the qf_ssi_ai_app. Just double-check that shifting the ROM origin won't clash with the bootloader's critical functions, maybe similar to when you're trying to nail a tricky jump in a game like Snow Rider 3D. And yeah, updating tinyfpga-programmer-gui.py to reflect the new ROM region definition in the .ld file is likely essential for proper flashing. Good luck!
bevisjame
Posts: 2
Joined: Thu Feb 12, 2026 3:38 am

It looks like you're on the right track with modifying quickfeather.ld for your ROM size issue. Since you identified that the current origin for the ROM section is at 0x00, and you're considering the bootloader and application separation, adjusting these values is crucial.

To increase the ROM space for qf_ssi_ai_app, you might need to:

Adjust the ORIGIN and LENGTH: Consider changing the LENGTH of the ROM section in the linker script to allocate more space, ensuring you don't overlap with the bootloader.

Check Dependencies: Make sure that any changes made in the .ld file are reflected in your build and configuration files, including tinyfpga-programmer-gui.py, to ensure compatibility.
Drive Mad
Testing: After making changes, thoroughly test to verify that everything functions correctly without memory overlaps.
Post Reply