Hallo ich habe eine Frage zum program-relativen Branchen. Dazu folgendes Szenario: Ich möchte in Adresse 0xFFFF0000 einen Branch zur Adresse 0x00100000 durchführen. Leider ermöglicht der Assembler "B" Opcode keine solch große Reichweite (-4293853184 Bytes) Ist es möglich einen Überlauf zu nutzen: PC = 0xFFFF0000 + 0x00110000 = 0x00100000 Im Detail geht es um den SAM9G45 welcher es ermöglicht den gesamten SRAM als TCM zu konfigurieren. Dadurch ist dieser leider nur über das TCM-Interface verfügbar uns steht nicht mehr als Remap-Zone zu Verfügung. Problematisch ist dies für das Exception-Handling welches eine Exception-Vector-Tabelle an Addresse 0x00000000 erfordert. Der CP15 ermöglicht es, die Exception-Vector-Tabelle von 0x00000000 - 0x0000001C(innerhalb der remap-zone) nach 0xFFFF0000 - 0xFFFF001C zu verlagern. Um dieses Feature nutzen zu können, muss ich die Vector-Tabelle mit Branches von 0xFFFF0000 zum ITCM (0x00100000) erstellen. Gruß Tobias
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.