From b55a2b4d126a8c23240921def20ef7602d2c41a2 Mon Sep 17 00:00:00 2001 From: Vladimir Kutkovoy <82603183+vladimirkutkovoy@users.noreply.github.com> Date: Thu, 1 May 2025 22:29:24 +0300 Subject: [PATCH] update readme --- readme.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 readme.md 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