Hallo,
ich habe einen STM32F405 Controller in dessen RAM ich ein großes
Datenpaket ablegen möchte.
Ohne dieses Datenpaket habe ich:
text data bss dec hex
6654 1292 2620 10566 2946
dann kommt folgender Code hintzu:
1 | #define BUFFERSIZE 65536
|
2 | volatile uint16_t Data[BUFFERSIZE];
|
somit sollten zu den 2620 Bytes nochmal 131072 Bytes dazu kommen.
Macht 133692. Dann habe ich noch den Stack mit
1 | #define STACK_SIZE 0x00000200 /*!< The Stack size suggest using even number */
|
Macht also 512Byte Stack, 2620 Bytes normale Daten und die 131072 Bytes.
Sollte doch alles in die 192kB RAM reinpassen, oder?
Ich bekomme allerdings die Warnung:
section `.bss' will not fit in region `ram'
region ram overflowed with stack
region `ram' overflowed by 3912 bytes
Warum bzw. wie kann ich das Problem beheben? Wer blockiert hier den
Restlichen RAM?