Sida 2 av 2

Postat: 19 juni 2005, 21:18:55
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

Postat: 19 juni 2005, 21:24:20
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

Postat: 19 juni 2005, 21:31:21
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?

Postat: 19 juni 2005, 21:33:55
av strombom
Alltså jag måste skicka in min bootloader varje gång jag ska programmera, bootloadern försvinner efter upptart...

/Johan

Postat: 19 juni 2005, 21:36:50
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

Postat: 19 juni 2005, 21:39:37
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

Postat: 19 juni 2005, 21:47:13
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

Postat: 19 juni 2005, 21:53:08
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