Hallo, hat jemand schon erfolgreich IAP beim LPC2138 benutzt ? Ich habe mir (fast) alle Programmbeispiele aus dem WEB besorgt, keines davon funktioniert aber bei mir. Ich weiss dass der Fehler irgendwie bei mir liegt, aber wo! Der LPC2138 reagiert beim Aufruf der IAP_LOCATION (0x7FFFFFF1) immer mit der Exception 0x0c (Prefetch abort). Hat jemand schon mal ähnliche Erfahrungen gemacht und weiss woran es liegen könnte ? Danke
Welche Werkzeuge? IAP-Funktion ist "Thumb-code". Falls restlicher Code in "ARM" eventuell Aufruf mit kleinem Inline-Assembler-wrapper versehen und darin die IAP-Funktion mit "BX" aufrufen. Zumindest auf LPC2106 schon mal so gemacht mit gnu-Toolchain, auf LPC2138 noch nicht ausprobiert. http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html Dateien: iap.h, iap.c, iap_asm.C
Vielen Dank für die Hilfe. Es klappt jetzt. Der entscheidende Punkt ist "BX rx"! Wenn der Compiler die HLL Zeile iap_entry(command,result); in ... MOV PC,rx ... umsetzt, geht es schief und eine Exception "Prefetch abort" ist die Folge. Diese Verhalten kann eindeutig reproduziert werden. Villeicht hilft dieses auch anderen die mit ähnliche Problemen zu kämpfen haben. Danke nochmals.
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.