Hallo zusammen, ich bin gerade etwas am verzweifeln nachdem ich mir jetzt verschiedene Bücher angeguckt habe was die Adressierung von Speichern angeht. Ich habe eine Stm32L151Re im Datenblatt steht das der den folgenden Speicher hat: Memories 512 KB Flash memory with ECC (with 2 banks of 256 KB enabling RWW capability) Bedeutet two banks das der Speicher physikalisch aus 2 Chips besteht? Woran erkenne ich wieviel Bits pro Adresse im Speicher abgelegt werden? Beziehungsweise nach was muss ich suchen um herauszufinden wie der Speicher aufegebaut ist? Einen schönen Abend Mit freundlichen Grüßen Arne
Ziehe Dir RM0038.pdf Kapitel 3 rein. "Two banks" bedeutet, dass man auf einer Bank schreiben kann und auf der anderen lesen, also z.B. auch das Schreibprogramm ausfuehren kann. Schreibt und liest man auf der gleichen Bank, bleibt das Programm immer waehrend des Schreibens haengen. Das macht fuer das Schreibprogramm selbst nichts, aber auch Interrupts muessen ihren Programmcode aus dem Flash holen und bleiben also genauso haengen und das kann bei zeitkritischen Aktionen Fehler verursachen. Abhilfe schafft dann, wichtige Programmteile im RAM zu halten.
Super danke Uwe. Bleibt nur noch die Frage offen wieviel Byte unter jeder Adresse abgelegt werden können bezeziehungsweise gelesen. Unter Kapitel 3.3 steht : The Flash memory is read by 64 bits or 32 bits. Heisst das dsa unter jeder Adresse im Speicher ein Doppelwort abgelegt wird. Ich kann über ein Debug-Tool wie z.B. J-Link auch einzelne Bytes auslesen. Gruß Arne
Der wirkliche Zugriff auf das Flash erfolgt mit 64 bit (ICode Interface), wenn Programmcode gelesen wird und mit 32 bit, falls dort Daten liegen (Dcode). Mit dem 64-bit ICode Zugriff hat man dann schon die naechsten Code Kommando bereit und muss nicht wieder auf den Flashzugriff warten, falls keine Spruenge auftreten. Trotzdem liegt unter jeder Byte-Adresse nur ein Byte.
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.