Hi, ich versuche gerade mein Assembler etwas aufzufrischen und moechte deshalb folgendes machen: unsigned int buffer[20]; buffer[0] = 0x10000FA5; //Address: 0x10000FA0 buffer[1] = 0xe1a00000; //Address: 0x10000FA4 NOP buffer[2] = 0xe1a00000; //Address> 0x10000FA8 NP _asm __volatile_ ( "movw R1, #0x0fa0\n" "movt R1, #0x1000\n" "ldr pc, [r1, #0]\n" ); In buffer[0] steht die Adresse von buffer[1] drinnen. In buffer[1] steht die Instruktion, welche ich ausfuehren will (NOP). Im Assemblercode lade ich zuerst die Adresse von buffer[0] in R1 und lade darauf hin den program counter mit dem Wert an der Adresse in R1. Nun betraegt der PC 0x10000FA5. Allerdings bekomme ich dann diese Meldung: prvGetRegistersFromStack (pulFaultStackAddress=0x10000f78 <Task1Stack+3960>). Sieht jemand das Problem? Stack sollte ja executable sein, MPU sollte deaktiviert sein.
nun möchte ich Code vom Stack ausführen, d.h. der PC hat nun einen Wert vom Stackbereich - das funktioniert leider nicht so wie im anderen Thread
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.