2020-07-15 12:56 AM
Hello, region `FLASH' overflowed by 424008 bytes but i didn't added much image. I am using 128 Mb N25Q128A13EF840E QSPI flash. I just wanted to confirm how much QSPI is assigned.
I can see below settings for QSPI.
I want to know that Where should I check in my firmware to know assigned external flash size. I can't find in linker file?
Also I want to see which all data is saved in QSPI 128Mbit .
Any help
2020-07-15 01:12 AM
Probably either your linker file is wrong and does not expose QSPI or you do not explicit place your table in QSPI.
2020-07-15 01:41 AM
Yes but it all generated by CUBEMX. There is some section called `ExtFlashSection' but I am unable to see it in linker file.
2020-07-15 01:41 AM
Show us the linker script - CubeMX does not know anything about QSPI flash chips, only general configuration for the controller on the mcu.
2020-07-15 01:44 AM
Attaching my linker script.
2020-07-15 01:45 AM
2020-07-16 12:29 AM
@Martin KJELDSEN Did you get the chance to check ?
2020-07-16 12:42 AM
I dig a bit more and check using gcc objdump command. Here u can see external flash size is 0xCEB08 which I think In bytes. So this does not cross 128Mbit.
Note : In this case I removed most of images and as per compiler its almost filled.
2020-07-16 12:42 AM
I dig a bit more and check using gcc objdump command. Here u can see external flash size is 0xCEB08 which I think In bytes. So this does not cross 128Mbit.
Note : In this case I removed most of images and as per compiler its almost filled.
2020-07-16 12:43 AM
Yep.
/* Specify the memory areas */
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
}
There's no mention of external flash here or where to put images.
Try adding:
/* Memories definition */
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
QUADSPI (r) : ORIGIN = 0x90000000, LENGTH = 16M
}
...
ExtFlashSection :
{
*(ExtFlashSection ExtFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QUADSPI
FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QUADSPI
TextFlashSection :
{
*(TextFlashSection TextFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QUADSPI