[elektro] PIC32 IT prioritás kérdés
F-I
flaist at gmail.com
Wed May 16 01:58:16 CEST 2012
Jogos!
A teszt verzio IT rutinomban volt egy dumy függvény hivás, és ilyenkor
mindent ment (így jobban látszódot a két eset közti változás).
Egyébként anno szivtam C32 2.01 verzióval, mert ha volt osztás/szorzás az IT
rutinban, akkor nem mentette jól a regisztereket
Ezt a 2.02-ben már javították.
----- Original Message -----
From: "Andras Kadinger" <bandit at surfnonstop.com>
To: <elektro at tesla.hu>
Sent: Tuesday, May 15, 2012 10:28 PM
Subject: Re: [elektro] PIC32 IT prioritás kérdés
Kérlek!
Elméletben nem az összes regisztert menti egyébként szoftveres esetben,
hanem csak amit az adott rutin felülír.
2012.05.15. 21:35 keltezéssel, F-I írta:
> Szia!
>
> Sikerült összehozni a következö definiciokkal:
>
>
> Ezt a config byte-ok definiálásához.
>
> #pragma config FSRSSEL = PRIORITY_6 //IT Shadow reg assign level-6
>
>
>
> Ezeket pedig az ISR rutinok elé, bár lehet, hogy bárhol lehetnének.
>
> __attribute__ ((interrupt(IPL7SOFT))) //A 7-es IT mentse az összeg
> reg.-t mert nincs shadow funkcio
>
> __attribute__ ((interrupt(IPL6SRS))) //A 6-os IT ne mentse az összeg
> reg.-t mert itt él shadow funkcio
>
> Köszi a segítséget üdv. István
>
>
>
> ----- Original Message -----
> From: "Andras Kadinger"<bandit at surfnonstop.com>
> To:<elektro at tesla.hu>
> Sent: Sunday, May 13, 2012 3:35 AM
> Subject: Re: [elektro] PIC32 IT prioritás kérdés
>
>
> A doksi itt van:
> http://ww1.microchip.com/downloads/en/DeviceDoc/51686B.pdf, pg. 48,
> 3.3.2.1 INTERRUPT ATTRIBUTE
>
> Szóval vagy hagyod, hogy futásidőben kitörpölje a CPU az IPLnAUTO-val,
> hogy shadow vagy nem, vagy explicit előírhatod az IPLnSRS (shadow) ill.
> IPLnSOFT (egyenkénti) segítségével.
>
> 2012.05.13. 3:19 keltezéssel, Andras Kadinger írta:
>> Szerintem az ötleted jó, viszont valószínűnek tartom, hogy a fordító nem
>> a pragma configból veszi vissza, hogy melyik rutinhoz kell egyenkénti
>> mentést generálnia illetve melyikhez kell shadow-ba mentést generálnia,
>> hanem vagy a függvénydefinícióból magából, vagy valamilyen más, a
>> fordítónak szóló direktívából. Még az is lehet, hogy a GUI által
>> nyújtott projekt konfigurációs opciókban megtalálod ezt a beállítási
>> lehetőséget.
>>
>> Szerintem szánj rá egy fél napot és olvasd végig alaposan a fordító ill.
>> a rutinkönyvtárak doksijának ide vonatkozó fejezeteit, én még csak a
>> 24-eseknél tartok (eddig nem kellett nagyobb), de ott nagyon megtérült
>> az a hétvége, amit erre szántam.
>>
>> 2012.05.11. 1:24 keltezéssel, F-I írta:
>>> Szia!
>>>
>>> Igazából ami nekem kellene:
>>>
>>> Van több IT, ezekből A. és B. nagy prioritású mérő IT rutin, azonnal
>>> futniuk kell.
>>> Az A. IT sűrűn jön, ezért itt a shadow regisztert is kell használni.
>>>
>>>
>>> A két nagyprioritású IT-ből csak az A. él mindig, a B.csak bizonyos
>>> funkciókba.
>>>
>>> A B. ritkán jön nem kell neki shadow.
>>> Ha viszont él a B. akkor ő a legnagyobb prioritású, azonnal kell
>>> szakítania
>>> A-t is.
>>>
>>> ------------------------------------
>>>
>>> Találtam egy jónak tünö megoldást, de a compiler úgy tünik nem
>>> támogatja.
>>>
>>> 1. a sallang rutinok valami alsó prioritáson.
>>>
>>> 2. A. rutin IPL6
>>>
>>> 3. B. rutin IPL7
>>>
>>> 4. És ami fontos lenne, de nem megy.
>>>
>>> #pragma config FSRSSEL = PRIORITY_6 //IT Shadow registers assign
>>> level-6
>>>
>>> Elfogadja, de a disassemblert nézve, továbbra is a IPL7-t gondolja
>>> shadow
>>> regiszteres működésűnek.
>>> Azaz a regiszter mentés nélküli IT ruitin állapot nem kerül át az
>>> IPL6
>>> rutinra.
>>>
>>> Vagy valamit rosszul nézek!?
>>>
>>> Üdv. István
>>>
>>>
>>>
>>> ----- Original Message -----
>>> From: Révész Károly
>>> To: elektronika, uC, dsp, wlan, programozas
>>> Sent: Friday, May 11, 2012 7:04 PM
>>> Subject: Re: PIC32 IT prioritás kérdés
>>>
>>>
>>> Hello
>>> ----- Original Message -----
>>> From: "Pipi"<lista at puzsar.hu>
>>> To:<elektro at tesla.hu>
>>> Sent: Friday, May 11, 2012 12:22 AM
>>> Subject: Re: [elektro] PIC32 IT prioritás kérdés
>>>
>>>
>>> 2012.05.10. 23:34 keltezéssel, F-I írta:
>>>> Szia!
>>>>
>>>> Hát igen ua. IT vektorra nem tud két függvény címet definiálni.
>>> megakadályozza valami hogy bármelyik itvektorból feltételtől függően
>>> meghívj
>>> egyik v. másik rutint?
>>>
>>>
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list