STM32F4 Assembler

Gast #5505696
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren