Sida 1 av 1

Interrupt med ARM7 + gnu toolchain?

Postat: 27 februari 2008, 13:38:50
av speakman
Men kollega sitter med ett Olimex SAM7-EX256 och försöker för första gången lära sig ARM7.

Har nu fastnad vid att få interrupt att fungera, både timer och externa. Har grävt igenom rubbet av tutorials och exempel på både Atmels hemsida och runtom på nätet. Men trots exempel som skall fungera, så gör det inte så här.

Det verkar även vara möjligt att köra program både från RAM och från Flash, och därför kan exempel variera en del och göra det ännu svårare för en nybörjare.

Allt fungerar så långt att det går bra att läsa av inpinnar, skriva till serieport osv, det är just interrupten som verkar råda stor mystik.

Det verkar också vara otydligt i databladet hur allt ska initieras upp. Han har god vana av 8-bitars uCs sedan förrut, men det här verkar vara något alldeles i hästväg att få igång.

Alla tips och ideér emottages, särskilt uppskattat vore någon form av exempelprojekt med länkarfil som man vet kan fungera.

Om man ska tro den rådande stämmningen på "nätet" kring ARM7 och gnu toolchain så verkar det vara många som har problem, inte minst med interrupten.

Postat: 27 februari 2008, 15:17:57
av RasmusB
Hehe... har samma utvecklingskort men har tillräckligt med slit att få igång det under linux ;)

Men två matnyttiga länkar om ARM7 kanske kan hjäpla :)

http://www.at91.com <- har sett fler som bråkat med interrupten där, nån borde fått ihop något :)

http://gandalf.arubi.uni-kl.de/avr_proj ... _at91.html
Många projekt gjorda på AT91-processorerna som sitter på olimex-kortet. Han använder interrupt i flera av projekten :)

Postat: 28 februari 2008, 12:12:21
av ucadv
Jim Lynch's tutorials for GNU arm:
http://gnuarm.alexthegeek.com/

inte för SAM7, men kanske hjälper dessa böcker ändå:
NXP LPC2xxx: http://www.hitex.co.uk/download/docs/lpc/
ST ST71x: http://www.hitex.co.uk/download/docs/str7/

edit: fler böcker...

Postat: 6 mars 2008, 21:53:45
av gille
Nu har jag aldrig skivit för SAM7 men ganska mycket för SAM9.

Har du satt rätt nivå eller flanktriggning i interruptkontrollern?
Har du enablat avbrotten i interruptkontrollern?
Har du enablat avbrotten genom att skriva 0x13 till CPSR_c?
msr cpsr_c, #0x13 // Enable interrupts in supervisor mode.

Postat: 6 mars 2008, 22:57:09
av speakman
Projektet lades ner... ;)

Tack ändå för alla tips!