You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
8 months ago | |
|---|---|---|
| CMSIS | 8 months ago | |
| .gitignore | 8 months ago | |
| main.cpp | 8 months ago | |
| readme.md | 8 months ago | |
| stm32g4.ewd | 8 months ago | |
| stm32g4.ewp | 8 months ago | |
| stm32g4.ewt | 8 months ago | |
| stm32g4.eww | 8 months ago | |
readme.md
Переключатель контекста на STM32
Задача переключаться между задачами через определённый квант времени.
Для работы отсчёта кванта времени используется SysTick, далее прерывание PendSV, где происходит сохранение контекста текущей задачи и переключение на другую. Программа использует PSP стек для задач и MSP для ОС.
Основная теория
CortexM0 имеет 16 регистров общего назначения:
-
Младшие регистры (r0-r7)
-
Старшие регистры (r8-r12)
-
Регистр указателя стека SP (r13) для текущего контекста (r8-r12). В зависимости от контекста может быть либо MSP (указателем основного стека) либо PSP (указателем стека процесса).
-
Регистр связи LR (r14)
-
Регистр счетчика команд PC(r15)