Ich habe einen xc2723 uC von Infineon und möchte auf dem onchip Speicher lesen und schreiben können. Genauergesagt möchte ich etwa 12000 ubyte Werte speichern. Kann mir jemand weiterhelfen wie der Code aussieht um dies zu verwirklichen ? Wieviel Speicher ist nötig um die Werte zu speichern ?
Florian schrieb: > Genauergesagt möchte ich etwa 12000 ubyte Werte speichern. (...) > Wieviel Speicher ist nötig um die Werte zu speichern ? Ich glaube da ist Hopfen und Malz verloren. 12000 ubyte = 12000 Byte Speicher?!
1 | unsigned char buf[12000]; |
Also 12000 Werte im Bereich von 0 bis 150. Kann man die Werte auch nicht flüchtig anlegen ?
Easylife schrieb: > unsigned char buf[12000]; Da dürfte der Linker meckern. Er hat zwar 12kB RAM, aber nicht am Stück. Auch bleiben dann nur 288 Byte übrig für den Rest des Programms.
Danke dir für die Antwort. Wenn ich es also gut verstanden habe, passen die Daten nicht auf dem onchip speicher. Bei dynamischer allokierung werden die Daten in den Heap speicher abgelegt, also in den RAM. Die RAM speicher die man bei diesem uC verwenden kann ist DPRAM und DSRAM mit jeweils 2k. Insgesamt hätte ich dann 2k verfügbar für 2000 Werte ? char *buf; buf= malloc(4000*sizeof(ubyte));
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.