Forum: Mikrocontroller und Digitale Elektronik ARM7TDMI error 65: access violation at 0xFFFF0D20


von berliner (Gast)


Lesenswert?

Ich arbeite zur Zeit mit dem ADuC7061,
beim Versuch folgendes auszuführen:

<b> GP0DAT = BIT16 + BIT24; <b>

bekomme ich die Keil Kompiler- Meldung
<b> *** error 65: access violation at 0xFFFF0D20 : no 'write' permission 
<b>
was mache ich falsch?
es ist mein erster Kontakt mit den ARM CPUs

Grüße Stefan
von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Ursache dürfte eher die fehlende Schreibberechtigung für den 
Speicherbereich der SFR in den "Memory Map"-Einstellungen sein. Die 
Meldung ist wahrscheinlich auch nicht im Verlauf der Erstellung vom 
Compiler ausgegeben worden, sondern beim Debuggen (mit Simulator?).

Support-Forum auf keil.com ist ein besserer Platz, um Antworten auf 
Fragen zu deren Produkten zu erhalten.
von berliner (Gast)


Lesenswert?

ja, danke, es war der Simulator. Mein Problem besteht darin, dass auch 
wenn ich die Speicherbereiche manuell mappe:

MAP  0xFFFF0F80, 0xFFFF0FC0   READ WRITE  // PWM
MAP  0xFFFF0D00, 0xFFFF0D50   READ WRITE  // GPIO
MAP  0xFFFF0700, 0xFFFF0730   READ WRITE  // UART
MAP  0xFFFF0600, 0xFFFF0620  READ WRITE  // DAC
MAP  0xFFFF0500, 0xFFFF0570  READ WRITE  // ADC
MAP  0xFFFF048C, 0xFFFF0490  READ WRITE  // Bandgap Ref
MAP  0xFFFF0404, 0xFFFF0420  READ WRITE  // GP Timer
MAP  0xFFFF0320, 0xFFFF0334  READ WRITE  // GP Timer
MAP  0xFFFF0000, 0xFFFF0140  READ WRITE  // Interrupt controller

sehe ich bei der Simulation keine Veränderungen an den beschriebenen 
Registern :-(. oder Mappe ich falsch?

im Keil Forum habe ich bereits geschrieben, dacht es gib auch hier 
Leute, die ähnliches Problem hatten
von berliner (Gast)


Lesenswert?

pusssssshhhh, keiner ne Idee?
von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Meine MDK Eval-Version ist leider abgelaufen und etwas Neueres ist nicht 
zur Hand. Kann Problem also gerade nicht nachvollziehen, daher nur 
Hinweise:

- Falls der Simulator keinen "write"-Fehler mehr zeigt, sollten die 
Einstellungen in der Memorymap passen. Würde aber eher den ganzen 
SFR-Speicherbereich am Stück für R/W freigeben, ist aber nur weniger 
mühsam.

- Bei der Keil-Installation kommen Beispiele mit (...Boards/ADI/...). 
Mit diesen Beispielen etwas herumspielen und schauen, ob der Simulator 
das gewünschte Verhalten zeigt. Wenn kein Beispiel für die 
706x-Varianten dabei ist, zumindest mit einem für 702x testen (dafür 
sind welche dabei). Zumindest für 702x habe ich vor langer Zeit 
erfolgreich mit dem Simulator getestet, was später auch in realer 
Hardware lief.

- Mit einem der Beispiele für 706x von Analog testen (gibt es von deren 
Webserver), k.A. ob schon Einstellungen für MDK dabei sind.

- Im eigenen Projekt nachsehen, ob der richtige Controller eingestellt 
ist (irgendwo in Options for Target, Device w.r.e)

- Im Simulator "durchsteppen" und evtl. den Speicherinhalt der 
Memory-Mapped-Register im Memory Dump (oder Memory View oder so ähnlich) 
anschauen. Mit Device-View(?) vergleichen.
von Heinz (Gast)


Lesenswert?

berliner schrieb:
> im Keil Forum habe ich bereits geschrieben, dacht es gib auch hier
> Leute, die ähnliches Problem hatten

Wenn dir Keil nicht helfen kann, dann nimm einen anderen Compiler.
von berliner (Gast)


Lesenswert?

danke für die Antworten,

habe die von Martin Thomas empfohlenen Schritte durchgeführt, und es hat 
nicht funktioniert. Habs jetzt mit IAR probiert und da läufts, werde 
jetzt dabei bleiben.

mfG Stefan
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
Noch kein Account? Hier anmelden.