diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..8ed7d48 --- /dev/null +++ b/readme.md @@ -0,0 +1,18 @@ +# Переключатель контекста на STM32 + +Задача переключаться между задачами через определённый квант времени. + +Для работы отсчёта кванта времени используется SysTick, далее прерывание PendSV, где происходит сохранение контекста текущей задачи и переключение на другую. Программа использует PSP стек для задач и MSP для ОС. + +# Основная теория +CortexM0 имеет 16 регистров общего назначения: + +1. Младшие регистры (r0-r7) + +1. Старшие регистры (r8-r12) + +1. Регистр указателя стека SP (r13) для текущего контекста (r8-r12). В зависимости от контекста может быть либо MSP (указателем основного стека) либо PSP (указателем стека процесса). + +1. Регистр связи LR (r14) + +1. Регистр счетчика команд PC(r15) \ No newline at end of file