Bootloader till ARM (AT91SAM7)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

hur gick det med interrupterna?
jag håller på att skriva kod för USB porten så att man kan få upp en del av flashminnet som en disk-enhet i windows, där ska det finnas två kataloger: RAM och FLASH som man kan lägga in .hex filer i och sen starta upp med antingen usart console, eller en emulerad usb-comport
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Hehe det lät seriöst!

Nä jag kör på RAM-bootloadern, det funkar ganska bra tycker jag, bara ett par extra knapptryckningar när man ska skicka över filer.

/Johan
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

jepps, fast usb är coolish :) fast lite krångligt iofs
men funkade det att skriva in vektorer i AIC enheten för att få interuppterna att hoppa till dina int_handlers?
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Alltså jag måste skicka in min bootloader varje gång jag ska programmera, bootloadern försvinner efter upptart...

/Johan
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

jovisst jag förstår, så du har inte testat att använda interuppter alltså?
frågar därför att jag också tänkte köra program från RAM-et samt använda interuppter
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Nä det har jag inte använt än, men jag kör ju mina vanliga program från flash ändå... så det ska väl inte vara några problem.

Det finns ju ett register där man kan välja om RAM eller ROM ska hamna på 0x00000000 kan du inte använda det?

/Johan
macgyver
Inlägg: 321
Blev medlem: 8 juni 2005, 00:24:09
Ort: Göteborg
Kontakt:

Inlägg av macgyver »

REmap ja, det ska väl gå att använda antar jag
som det är skrivet nu så står det både i din och min kod:

extern void AT91F_Spurious_handler(void);
extern void AT91F_Default_IRQ_handler(void);
extern void AT91F_Default_FIQ_handler(void);

koden för dessa ligger i startup.s men innehåller ingenting, kanske där man ska lägga in jmp instruktioner till sin interruptfunktion
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Jo jag kopierade in dem ifall jag skulle få för mig att använda dem, reflekterade väl inte så mycket över det.

Men just nu har jag den här koden i början:

_undf: .word exit
_swi: .word exit
_pabt: .word exit
_dabt: .word exit
_fiq: .word exit

så den hoppar direkt till min eviga loop ifall ett avbrott skulle inträffa...

/Johan
Skriv svar