2020-08-15 02:31 AM
Hello everyone,
I faced an error with my .ld file. the .sdram_section will not fit into the SDRAM (8MB)
how to solve this?
thanks
2020-08-15 03:40 AM
> I faced an error with my .ld file. the .sdram_section will not fit into the SDRAM (8MB)
That's not problem with the .ld file, it's a problem with your program. You try to put too many things into the SDRAM.
JW
2020-08-15 03:43 AM
How to solve it then?
2020-08-15 06:04 AM
Reduce the number of data you are trying to put it in there.
How do you solve if the files won't fit onto your USB FLASH stick?
How do you solve, if the baggage won't fit into your car?
JW
2020-08-15 06:13 AM
Yes but I can’t, If i do so, I’ll lose data and then the image on screen will be whatever
2020-08-15 06:44 AM
Figure out why you need 12MB+ of RAM
What are you using it for?
Can you fold any of the usage? ie does it all need to be used concurrently, or could it be shared or allocated dynamically.
Put static images into QSPI Flash.
2020-08-15 07:49 AM
Try write here declaration of sdram arrays or check if you use proper types.
Example: RGB888 need unsigned char fb[WxHx3], when you write only unsigned you reserve 4xbigger buffer as you need.
2020-08-15 08:35 AM
those data will go into SDRAM
2020-08-15 09:07 AM
@clive1 I tried but it breaks at some address. How can I see the code of a given address? @Community member
2020-08-15 09:38 AM
Look in the .MAP file for the function nearest to the failure
You can also generate a listing file (.LST or .LSS type thing), and find the address/code in there.
If the SDRAM can't hold all the data you either need to make smaller demands on it, or get a board with more memory
When the Linker fails, you could make the SDRAM size larger in the linker script, you'd do this temporarily so you can see who is eating all the resources in the .MAP file.
You're not going to be able to hold millions of floats, each takes 4 bytes
Going to need to be realistic about the constraints of the embedded system. You don't have GB's of space to work with