Gast
#5505696
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.