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.
 
 
 
Vladimir Kutkovoy 1f2df066e5 fixed an error when exiting the task function 8 months ago
CMSIS init commit 8 months ago
.gitignore init commit 8 months ago
main.cpp fixed an error when exiting the task function 8 months ago
readme.md update readme 8 months ago
stm32g4.ewd init commit 8 months ago
stm32g4.ewp init commit 8 months ago
stm32g4.ewt init commit 8 months ago
stm32g4.eww init commit 8 months ago

readme.md

Переключатель контекста на STM32

Задача переключаться между задачами через определённый квант времени.

Для работы отсчёта кванта времени используется SysTick, далее прерывание PendSV, где происходит сохранение контекста текущей задачи и переключение на другую. Программа использует PSP стек для задач и MSP для ОС.

Основная теория

CortexM0 имеет 16 регистров общего назначения:

  1. Младшие регистры (r0-r7)

  2. Старшие регистры (r8-r12)

  3. Регистр указателя стека SP (r13) для текущего контекста (r8-r12). В зависимости от контекста может быть либо MSP (указателем основного стека) либо PSP (указателем стека процесса).

  4. Регистр связи LR (r14)

  5. Регистр счетчика команд PC(r15)