Hallo zusammen, ich möchte mit den Open OCD meinen Atmel SAMD20E15 flashen, zum flashen benutze ich das Raspberry Pi. Wenn ich meine APP in die Adresse 0x0 lade funktioniert das ganze gut. Ich möchte jedoch noch einen Bootloader flashen. Wenn ich den Bootloader in den Atmel auf 0x0 flashe ist soweit alles okay und der uC geht normal in den run modus. Wenn ich dann die APP auf die Adresse 0x2000 programmiere funktioniert nichts mehr und der uC führt nichts mehr aus. Wenn ich den Bootloader und die APP von AtmelStudio flashe funktioniert es. Wenn ich die Daten im Flash mit meinem APP und der BOOT vergleiche, sind diese nicht mehr mit dem original identisch. Ich hoffe sehr das ihr mir eine antwort habt. Beste Grüße DDMW
Daniel X. schrieb: > Wenn ich dann die APP auf die Adresse 0x2000 programmiere funktioniert > nichts mehr und der uC führt nichts mehr aus. Korrekt. Die App muss neu für die höhere Addresse verlinkt werden - siehe Linkerskript.
Neben dem Linkerscript muss sehr wahrscheinlich noch der Offset der Vektortabelle im Code angepasst werden. Dafür gibt es bei den Cortex-M das "Vector Table Offset Register" (VTOR). Häufig gibt es in der SystemInit einen Abschnitt der per #define aktiviert werden kann, dann kann man das auch ins Makefile auslagern (sofern man eines nutzt) und muss nicht jedesmal am Code rumdoktorn wenn man eine andere Konfiguration bauen möchte.
Es lag an mir ich habe eine Fehlerhafte Software verwendet.
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.