[elektro] ARM NVIC kérdés....
hg12345
hg12345 at freemail.hu
Wed Sep 7 07:54:29 CEST 2011
Info <info at kiralyelektronika.hu> írta:
>> Nem hiszem, hogy egy >300 soros makrózot C kódot + ASM hivást>
> is használó IT handler-t csak úgy megért akárki.>
Most a listát nézed le vagy csak nekem udvarolsz ? :)>
Írtam valódi multitaszkot cortexre ugyanilyen módszerrel, eléggé>
kiismertem, igaz az nem STM volt.>
Egyikse :-)
Amúgy sikerült az NVIC-hez igazítani a programot IT-t :-()
>
> Amúgy olyan segítségre gondoltam, ami közben megfejtödött, hogy>
> ezekben az CORTEX-M3 + NVIC-ben HW kettős bufferelésű az IT, ha>
> például a forrásnál törlöm a flaget, akkor már a kérelem már régen>
> ott várakozik az NVIC végrehajtójában. (A 8 és 16 bites>
> rendszerekben nem ilyen szerkezetűek a interrapt kontrollerek)>
Így van, ha feltűnt külön vannak set-reset regiszterek a>
szemaforozásra, hogy ne vesszenek el eventek. Többnyire minden int-t 2>
helyen is nyugtázni kell - ha ugye fennállna folyamatosan.>
Asszem M3-nál nem lehet szint/él érzékenyre állítani, azt az M0 magok>
tudják, akkor elég lenne csak 1 helyen nyugtázni.>
Az M3-nem állítható a szint/él érzékenység, ezt a perifériahoz rendelt tulajdonság.
Bocs, de "minden int 2 helyen is nyugtázni kell" de ezt nem értem. Az NVIC PENDING regisztert maga az IT kezelés törli, és csak a perifériákban kell a "EVENT" vagy STATUS biteket törölni..... A PENDING regiszterhez kezelhető (beállítható(SW IT) és törölhető) de hogy ezt alaphelyzetben is mindig kelljen kezelni ?! erre nem gondoltam.
Nálam az volt a baj, hogy pont nem lehet törlni a periódikus esemény felesleges IT-jét, mert akkor töröltem volna a random IT eseményét......
>
> Esetleg valaki tudja hogyan kell felkonfigurálni a ULINK2 +>
> KEIL-t hogy egy IT kernel tracel-elhető legyen és ne legyen>
> állandóan trace overflow.....>
Pont nem ezt a párost használom.>
De stack overflowot nekem kiír, ugyanis cserélgetem a stacket a>
háttérben, ő meg azt hiszi valami gubanc van. Nálam jlink nem áll meg>
miatta, nyugisan döcög tovább csak dobálja a megjegyzéseket.>
Viszont ha valami rossz utasításra fut le tud állni a proc is,>
olyankor elég érdekes dolgokat listáz a debug ablak. Általában minden>
hiba-it-t breakpointozok, hogy ne vezessen félre.>
Erre lennék kiváncsi....
Nálam a következő a probléma SWD(10MHz)/SWO(~1MHz) felületet használom, a uC 24Mhz. A debuggerrel nincs is probléma (SWD), jól müködik. Az SWO a problémásabb. Ezzel kapcsolatban kérnék segítséget.
Nem az SWO felület az elsödleges listázó kimenet, mert ezt abszolut nem birta, erra van egy 3MHz USART. De a nyomkövetést itt ADAT nyomkövetésről írok, hiába állítom be, teljesítményben nem tudja, pedig a sebességek nem korlátoznák a kommunikációt.
Bármit állítok egyből túl terhelésre panaszkodik..... az SWO kimeneten.
Elvileg a KEIL, 4 változó adatát tudja grafikusan megjeleníteni, ez sokszor jó lenne. Mást nem igen enged. A SWO kimeneten keresztűl küldött statisztikai adatok nem igazán érdekelnek....
Ennek a beállítására lennék nagyon kiváncsi.....
>
>
----------------------------------------->
elektro[-flame|-etc]>
More information about the Elektro
mailing list