Супер простой таскер на ARM Cortex

Я прочитал статью Создайте сверхпростой Tasker и идея мне нравится. Это очень простой планировщик, но у него есть многозадачность в реальном времени и вытесняющая многозадачность с одним стеком. Идея мне нравится, но когда я попытался написать эту программу для современного микроконтроллера (ARM Cortex-M), у меня ничего не вышло. В книге «Полное руководство по ARM Cortex-M3» в главе «9.2 Exception Exits» написано, что этот микроконтроллер не имеет различных инструкций EOI и RETI (или его аналог). В этом микроконтроллере: возврат обработчика прерывания == EOI == RETI?

Кто-нибудь (опытный ассемблер) может подсказать, как мне заменить команды RETI и EOI из статьи для микроконтроллера ARM Cortex-M?


person Vyacheslav Verkhovin    schedule 27.04.2018    source источник


Ответы (1)


Автор (Миро Самек) написал мне, как это сделать для Cortex-M. Теория: https://www.state-machine.com/qpc/arm-cm_qk.html Код: https://github.com/QuantumLeaps/qpc/blob/master/ports/arm-cm/qk/gnu/qk_port.c

person Vyacheslav Verkhovin    schedule 27.04.2018