[elektro] Nuvoton Cortex-M0
Bali Zoltan
eltexto at freemail.hu
Thu Nov 10 15:54:17 CET 2011
Sziasztok!
További gondom akadt. Volt több is de most elakadtam.
Egy idő után megáll a program. Persze ez érthető.
A pDMA végén, egy IRQ kiszolgáló rutinban, egy
volatile változó 1-be rakásával jelzem a főprogramnak,
hogy vége a DMA-nak. Ott meg egy while(1) ciklusban
figyelem ezt a változót és nullázom, utána break, tovább...
3+2 interrupt működik jelenleg, 2 timer (1ms,10ms)+RTC,
és kettő, ha jól számoltam az USB VCOM-nak, de ezek
nem aktiválódnak, mert ilyenkor nincs az USB bedugva.
Ha IT egyidejűség van, akkor fordul az elő, hogy a pDMA
IT lefut 1-be rakja a változót, de a főprogram várakozása
ezt már nem látja meg. Valahogy közben nullázódik ez a
változó.
Elkezdtem "túrni" az ASM-et, hát nem sokat értek belőle,
a proci még új nekem. Nevezetesen a TMR1 IT-t néztem
mit csinál, de nem értem hogynem rontja el a regisztereket
mikor ezt csinálja:
{
TMR1_IRQHandler:
0x8be6: 0xb580 PUSH {R7, LR}
DrvGPIO_SetBit(E_GPA,9);
0x8be8: 0x2109 MOVS R1, #9
0x8bea: 0x2000 MOVS R0, #0
......
......
......
......
0x8c14: 0xd503 BPL.N ??TMR1_IRQHandler_0 ; 0x8c1e
DrvGPIO_ClrBit(E_GPD,10);
0x8c16: 0x210a MOVS R1, #10 ; 0xa
0x8c18: 0x2003 MOVS R0, #3
0x8c1a: 0xf7fa 0xfcc0 BL DrvGPIO_ClrBit ; 0x359e
}
??TMR1_IRQHandler_0:
0x8c1e: 0xbd01 POP {R0, PC}
A push pop valahogy nem jön össze nekem, meg mintha kevés is
lenne. Ott az R0,R1 is és elrontja őket
Fel tudna valaki homályosítani ?.
Köszi
Üdv. Zoli
2011. 10. 28. 8:29 keltezéssel, Bali Zoltan írta:
> Köszi az infókat .
>
> Üdv. Zoli
>
>
> ----- Original Message -----
> From: "hg12345"<hg12345 at freemail.hu>
> To:<elektro at tesla.hu>
> Sent: Friday, October 28, 2011 8:21 AM
> Subject: Re: [elektro] Nuvoton Cortex-M0
>
>
> Szia!
>
> ha elfogadsz egy tanácsot, amit nem kell azt ne kösd GND-re!!!!!
>
More information about the Elektro
mailing list