ob:o7:debug
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
ob:o7:debug [2018/05/24 14:14] shiryaev.a.v [Сторожевой таймер] |
ob:o7:debug [2018/05/26 07:01] иван_денисов [Сторожевой таймер] |
===== Сторожевой таймер ===== | ===== Сторожевой таймер ===== |
| |
См. **MicroARMv7MSTM32F4WWDG**. | Чтобы определить, когда микроконтроллер «завис» в бесконечном цикле, полезным инструментом является сторожевой таймер **MicroARMv7MSTM32F4WWDG** ([[https://github.com/aixp/O7/blob/master/Micro/Files/STM32F4IWDG.odc|github]]). |
| |
Нужно выполнить **Init** и потом периодически вызывать процедуру **Update**. | Чтобы его использовать, сначала необходимо выполнить процедуру **Init**, и затем периодически вызывать процедуру **Update**. Тогда, при «зависании» микроконтроллера сработает **аварийная остановка с кодом 20**, и возможно определить место в программе, где это произошло (**Traps.trap.pc**) |
| |
При "зависании" микроконтроллера сработает аварийная остановка с кодом 20, и можно определить место в программе, где это произошло (**Traps.trap.pc**) | Более универсальный сторожевой таймер не имеет возможности определения места остановки: **MicroSTM32FxIWDG** ([[https://github.com/aixp/O7/blob/master/Micro/Files/STM32FxIWDG.odc|github]]). Но зато он работает на любых типах микроконтроллеров моделей STM32F. |
| |
| |
"Независимый" сторожевой таймер (но без возможности определения места остановки): см. **MicroSTM32FxIWDG**. | |
| |
| |
ob/o7/debug.txt · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)