Цитата(syoma @ Nov 17 2017, 13:45)

что ARM не поддерживает reentrant прерывания
Дык, это вполне логично, и касается не только для ARM ))
Цитата
и выполнение Step_1s() полностью блокирует прерывание и Step_10ms() при этом не исполняется. Нашел в инете, что народ играется ассемблером и пытается восстанавливать стек и прочие вещи, чтобы процессор опять мог заходить в это же прерывание, но хотелось бы узнать - есть ли простое решение, без RTOS, так
В ARM (не во всех) реализована поддержка вложенных прерываний.
Почитайте про PendSV и заодно про SVC вызовы. Про это уже давно исписаны все
заборы интернеты.
Это если желаете толстые фунции вызывать в фоне прерываний (кстати, за подобные "дела" в некоторых конторах очень сурово карают).
Цитата
как кроме этой функции RTOS будет не нужна.
Это вы сейчас так говорите, в данный момент. А в перспективе?

Но, если же проект такой примитивный, то все можно сделать на паре/тройке аппаратных таймеров.
В самом убогом ARM как минимум два-три штуки найдутся (помимо стандартного SysTimer). Такое решение простое, наглядное и железобетонное.
Если правильно назначить приоритеты этим таймерам, то получится относительно работоспособный "шедулер" с поддержкой приоритетов.
Еще еще вариант - простейший супер-луп, использующий лишь один таймер (systimer), где код из фона прерываний переносится в фон задач.
Фактически пишете шедулер RTOS самостоятельно руками (со всеми вытекающими).
зы. В любом проекте в фоне прерываний не должны вызываться никакие толстые функции!
Иначе другие толстые функции поплывут и в итоге поплывет времянка всего проектика.
Кто пытался писать сложные проекты в супер-лупе (продвинутые ардуинщики), то понимает, что я имею ввиду )))