Hallo zusammen,
Ich habe Probleme mit dem Verständniss wie ich große arrays auf einem
CC1350 speichern soll, sodass ich die Daten noch lesen und speichern
kann.
Ich möchte ein array mit floats speichern, wie fogt:
1 | float prediction[365][12];
|
Das gibt mir den folgenden Fehler.
1 | error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".bss" size 0x577f
|
Das array ist ganz klar zu groß für den SRAM. Also habe ich versucht es
mit #pragma directives direkt in den FLASH zu setzen.
1 | //prediction array (save to flash)
|
2 |
|
3 | #pragma NOINIT (prediction);
|
4 |
|
5 | #pragma LOCATION( prediction , 0x10000 );
|
6 |
|
7 | float prediction[365][12];
|
Doch sobald ich auf das array zugreifen will hängt sich mein µC auf.
Ich habe dann das NSV (non-volatile-storage) Beispiel von TI gefunden.
IUnd versucht es auf meine Bedürfnisse anzupassen. Das hat aber nicht
funktioniert. Ich verstehe nicht wie ich damit mit arrays arbeiten soll.
Anscheinend example wird lediglich mit einem kleinen buffer gearbeitet
der immer überschrieben wird.
Was ist der einfachste Weg ein so großes Array zu benutzen? Ich bin
planlos wie man das anstellen soll und hoffe hier kann mich jemand auf
die richtigen Weg/Methode weisen.
Vielen Dank schonmal!