Цитата Сообщение от Вольд Посмотреть сообщение
А по какой причине может произойти останов PRU программы и как это выявить ?
Например, ионизирующее излучение, удар молнии, проблемы с питанием, ну и "кривой код" в конце концов.
Выявлять можно во время очередного обмена данными. Смысл в том, что для обмена информацией PRU и host в любом случае должны как-то координироваться. Если host будет ждать ответа от PRU бесконечно долго, то к нему самому придёт собака. Поэтому, логично при операциях обмена использовать таймаут. Скажем, 100ms. Если достигнут таймаут, то считаем, что обмен не состоялся, а pru, возможно, заклинило.

Аналогично, на стороне PRU можно следить за частотой обменов и переходить в безопасное состояние, если host давно не общался с PRU.