AVR ATmega1284P Bootloader startet nicht!

OP #5404301
Lesenswert?

Hallo liebe Leute,

ich habe einen kleinen Bootloader für meinen ATmega1284P (nach den 
Tutorial von mikrocontroller.net) geschrieben. Als ersten Test toggelt 
das Programm nur eine LED. Ich verwende zum programmieren das 
AtmelStudio 7 und einen JTAGICE mkII
Nun zum Problem:
Wenn ich das Programm mit Startaddr = 0x0000 kompiliere und dann flashe, 
startet es ganz normal und die LED blinkt.
Sobald ich allerdings das "offset" auf .text=0xF000 ändere
(Toolchain/AVR/GNU Linker/Memory Settings/FLASH segment).
Die BOOTSZ auf $F000 und die BOOTRST programmiere und anschließend 
flashe, passiert NIX!

Auch das Debuggen funktioniert nicht mehr :(

Was mache ich falsch? Das flashen mache ich sowohl über das Atmel Studio 
als auch via *.bat mit ATPROGRAM

Vielleicht hat jemand von euch eine Idee ?!

Gruß
OP #5404337
Lesenswert?

Hi,

ich habe soeben das Problem gelöst :)
Immer das gleiche, sobald man das "Problem" aufschreibt und nochmal 
"anders" drüber nach denkt, bekommt man einen Geistesblitz und zack 
schon behoben!
Das "einfache" toggeln der LED (zum testen) habe ich nicht dirket über 
die Register gemacht, sondern von einem Timer / Interrupt regeln lassen.
Normalerweise funktioniert das auch wunderbar, nur habe ich beim 
Bootloder vergessen, die Interrupt Vektoren zu "verbiegen"...

Nun läuft alles wie gehofft!
1
unsigned char interruptTemp;    /* Variable */
2
/* Interrupt Vektoren verbiegen */
3
interruptTemp = MCUCR;
4
MCUCR = interruptTemp | (1<<IVCE);
5
MCUCR = interruptTemp | (1<<IVSEL);

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