Hallo Zusammen, ich habe da mal eine Verständnis Frage ich betrachte derzeit mir Cortex-M4 basierende µC und laut Hersteller hat er 352kB internes SRAM jetzt steht im Manual folgendes zusätzlich beschrieben – 96 KB on-chip high-speed program memory – 128 KB on-chip high speed data memory – 128 KB on-chip high-speed communication Heißt das für mich das die HW Peripherien im Controller die Kommunikationsschnittstellen schon 128 KB des RAM Bereichs dediziert verwenden und ich diese nicht für flüchtige Daten werdenden kann. Hier im Beispiel würde ich vermuten das ich nur 128 KB für Daten zur Verfügung habe. liege ich mit meiner Vermutung recht oder kann ich die Kompletten 352 KB für das RAM frei planen? Danke für eure Hilfe Gruß EbbeSand
Überleg mal, könnte eine konkrete Angabe des Herstellers und Controllertyps bei der Beantwortung deiner Frage helfen?
Könnte speziell geht es hier um ein Infineon XMC4700 aber du findest solche angaben auch bei STM oder NXP mit Cortex-M4 Kontroller Gruß EbbeSand
keine Ahnung wie es bei Infinion ist aber bei ST kann es sein, dass der RAM ein wenig verteilt im Adressraum ist. Grundsätzlich kannst du aber alles davon auch ganz normal als RAM nutzen, der linker kümmert sich normalerweise darum das für dich zu abstrahieren. bestimmte RAM teile haben dann zusätzliche features. z.B. könnte ein kleiner bereich des RAMs von einer stütz baterie versorgt werden, wenn mal der strom ausfällt bleiben die werte in diesem RAM erhalten.
Hätte, könnte, wäre... Ist aber richtig so. Der Cortex-M4 Kern schreibt da nichts vor, es kommt also sehr auf den konkreten Chip an, der um den Kern herum gebaut wurde.
Hallo EbbeSand, Du findest in der Regel die Eigenschaften der internen Speicherbereiche eines Cortex POD im data sheet des Controllers unter dem Stichwort "Bus Matrix." Zur Interpretation der Bus Matrix sh. z.B. Kap. 2 meines Buches. Nach deinen C&P eingefügten Beschreibungen vermute ich, dass die 96k über den internen Code Bus (iCode) addressierbar sind, die ersten 128 über den internen Datenbus (iData) und die Dritten über... hmmmm, den internen peripheral bus? Das heisst nicht, dass die Daten nicht auch Anders verwendet werden können, aber nur mit Performanzverlust. Der kann recht signifikant sein.
:
Bearbeitet durch User
Hallo Ruediger, danke für deine Erklärung und auch den Hinweis auf dein Buch, jetzt wird mir einiges deutlicher. Aber bei meiner Anwendung kann ich auf die Performance Einbuße durch den Systembus gut und gerne verzichten. Aber ich verstehe jetzt die Zeichnung (Bus_Matrix_XMC4700.jpg) aus dem Datenblatt des Herstellers Nochmals Danke Gruß EbbeSand
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.