реклама на сайте
подробности

 
 
> Logging. Какие опции, Как изловить трудно повторяющийся баг
A. Fig Lee
сообщение Jul 11 2014, 15:24
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Народ, а че вы делаете чтобы изловить once in a while событие.
Например есть у нас ОС, и вот раз в пару дней система выпадает в осадок и не отвечает.
Что делать?
Опции:
1) иметь наружный дополнительный контроллер с питанием от батарейки, ножки которого дергать периодически из задач ОС.
Контроллер будет писать какая задача заткнулась. Сложно, муторно, надо делать плату и прикручивать к основной.
2) Использование battery backed RAM, писать инфо туда. Хорошо, когда есть еще риал тайм клок.
Чтоб время писать.
3) Использование вотчдога, только как определить что именно заткнулось?
В айдл таск проверять счетчики и смотреть, какая задача вылетела?
По вотчдогу писать в EEPROM?

Как вы вылавливаете баги?


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jekin
сообщение Jul 11 2014, 15:33
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406



Я при решении подобных проблем делаю трассировку с помощью ULINKpro. Позволяет писать пока не закончится свободное место на жестком диске компьютера.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jul 11 2014, 17:32
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Jekin @ Jul 11 2014, 11:33) *
Я при решении подобных проблем делаю трассировку с помощью ULINKpro. Позволяет писать пока не закончится свободное место на жестком диске компьютера.

Рассматриваем случай когда устройство уже в экплуатации или тестируется, без внешних соединений, в рабочей остановке

Цитата(jcxz @ Jul 11 2014, 11:51) *
Чего именно Вы хотите? Обнаруживать повисание определённых задач (а-ля позадачный вотчдог)?

Наверное. Периодически могут сказать, что устройство перестало работать. Почему перестало, как найти проблему.
Для hard fault сделал запись в EEPROM, при тесте работало.
Hard fault-a не было, почему "перестало работать" не понятно.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 12 2014, 07:33
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(A. Fig Lee @ Jul 11 2014, 20:32) *
Рассматриваем случай когда устройство уже в экплуатации или тестируется, без внешних соединений, в рабочей остановке


Наверное. Периодически могут сказать, что устройство перестало работать. Почему перестало, как найти проблему.
Для hard fault сделал запись в EEPROM, при тесте работало.
Hard fault-a не было, почему "перестало работать" не понятно.


Ну очевидно у вас проблемы электромагнитной совместимости.
Здесь надо углублятся в железо. Анализировать трассировку, расположение разъемов и компонентов на плате и т.д.
Если вам конечно нужно решить проблему, а не найти причину. wink.gif

На моей практике проблемы с ЭМС часто приводили к защелкиванию внутренней периферии, тогда никакие WDT и прочие ухищрения не срабатывают. Бывает происходит сброс, а узел осциллятора уже не живой, не стартует программа.
Бывает сам кристал уходит в аут и не заводится при определенных погодных условиях.
Нельзя сбрасывать со счетов радиацию. Радиация сильнее вблизи массивных металических объектов и гранитных, мраморных массивов.
Клавиатура без защитных заземленных контуров идеальный осточник статических пробоев, процессоры виснут мертво.
Специфический дребезг вызванный ЭМИ на линях I2C, SPI, UART и проч. вызывает мертвое подвисание периферийных модулей.
И проч.

В любом случае на этапе инициализации не должно быть глухих циклов ожидания чего-то, должны быть отработаны сценарии ухода на альтернативные логи при зависании любого генератора или осциллятора.

В этом плане опасней были микроконтроллеры от NXP со всяким встроенным в ROM вспомогательным фирмваре.
Наиболее защищены от таких неприятностей чипы от Freescale, с несколькими внешними осцилляторами, несколькими внутренними и несколькими независимыми WDT.
И их операционка MQX уже сверху донизу оборудована логами, не надо перепахивать ядро RTOS чтобы еще что нибудь залогить.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- A. Fig Lee   Logging. Какие опции   Jul 11 2014, 15:24
|- - A. Fig Lee   Цитата(AlexandrY @ Jul 12 2014, 03:33) Ну...   Jul 12 2014, 11:26
||- - AlexandrY   Цитата(A. Fig Lee @ Jul 12 2014, 14:26) П...   Jul 12 2014, 12:34
||- - A. Fig Lee   Цитата(AlexandrY @ Jul 12 2014, 08:34) Ош...   Jul 12 2014, 13:52
|- - jcxz   Цитата(AlexandrY @ Jul 12 2014, 13:33) Не...   Jul 13 2014, 05:26
|- - adnega   Цитата(jcxz @ Jul 13 2014, 09:26) Во-во...   Jul 13 2014, 05:28
- - jcxz   Цитата(A. Fig Lee @ Jul 11 2014, 21:24) Н...   Jul 11 2014, 15:51
- - Golikov A.   если есть возможность FRAM поставить, то можно на ...   Jul 11 2014, 18:18
|- - A. Fig Lee   Цитата(Golikov A. @ Jul 11 2014, 14:18) е...   Jul 11 2014, 19:29
||- - kolobok0   Цитата(A. Fig Lee @ Jul 11 2014, 23:29) ....   Jul 11 2014, 19:52
|||- - A. Fig Lee   Цитата(kolobok0 @ Jul 11 2014, 15:52) был...   Jul 11 2014, 20:39
|||- - kolobok0   Цитата(A. Fig Lee @ Jul 12 2014, 00:39) Я...   Jul 11 2014, 22:47
||- - kolobok0   Цитата(A. Fig Lee @ Jul 11 2014, 23:29) ....   Jul 11 2014, 20:20
|- - jcxz   Цитата(Golikov A. @ Jul 12 2014, 00:18) Е...   Jul 12 2014, 03:42
- - kolobok0   Цитата(A. Fig Lee @ Jul 11 2014, 19:24) Н...   Jul 11 2014, 18:59
- - andrewlekar   Как-то пока отлавливается всё логами и натурными э...   Jul 11 2014, 19:46
- - Golikov A.   Цитата128 байт, FRAM нет, правда есть место во фла...   Jul 11 2014, 20:06
- - Golikov A.   Общие функции вызываемые всеми будут иметь флаги о...   Jul 12 2014, 06:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016