====== 10. Interní periferie ARM jádra ====== {{ :courses:b2m37mam:labs:mam_2023-cviceni_10.pdf | Podklady pro 10. cvičení-Skalický}} ===== Cíle cvičení ===== - Seznámit se interními periferiemi ARM jádra - Seznámit se s principem přerušení - Využít systémový čítač k jednoduchému měření času ===== Co je třeba si připravit ===== - Prázdný projekt vytvořený v STM32CubeIDE ===== Systémový čítač SysTick ===== Jádra procesorů Cortex-M obsahují jednoduchý 24 bitový čítač, který je možné využít např. k měření času. Jedná se o jednu z klíčových periferií jádra, není proto dokumentován v referenčních manuálech procesorů, ale v Cortex-M programovacím [[https://cw.fel.cvut.cz/wiki/_media/courses/a8m37mam/documents/en.dm00046982.pdf#page=246|manuálu]]. ==== Registry systémového čítače ==== ^ název ^ význam ^ offset ^ manuál ^ | STK_CTRL | control and status register | ''0x00'' | [[https://cw.fel.cvut.cz/wiki/_media/courses/a8m37mam/documents/en.dm00046982.pdf#page=247|247]] | | STK_LOAD | reload value register | ''0x04'' | [[https://cw.fel.cvut.cz/wiki/_media/courses/a8m37mam/documents/en.dm00046982.pdf#page=248|248]] | | STK_VAL | current value register | ''0x08'' | [[https://cw.fel.cvut.cz/wiki/_media/courses/a8m37mam/documents/en.dm00046982.pdf#page=249|249]] | | STK_CALIB | calibration value register | ''0x0C''| [[https://cw.fel.cvut.cz/wiki/_media/courses/a8m37mam/documents/en.dm00046982.pdf#page=250|250]] |