|
|
  |
Как поимать "баг" в STM32 на скорости 72 MHz?, методы поиска и устранения спонтанных и редких сбоев в работе МК |
|
|
|
Apr 30 2018, 08:14
|

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

|
Цитата(jcxz @ Apr 30 2018, 08:45)  например если у меня есть SPI-FLASH в устройстве, но обращение к ней идёт не часто, то для теста (обнаружения редко проявляющихся непериодических сбоев как у ТС), я нагружаю данный интерфейс транзакциями чтения/записи по самое нехочу. Как то не верю. Файловые системы и я тестирую. Не раз тут выкладывал результаты максимальной производительности. И сколько же времени вы тестируете. Берете время c потолка? Какое количество файлов? А количество директорий? А количество одновременно открытых файлов? И любой джуниор вам скажет что при достаточно долгом тесте файловой системы на Flash носителе у вас 100% случится сбой, так как есть такое явление как износ. Чел более опытный намекнет, что у вас там со стеком и динамической памятью может быть нехватка и отказ в обслуживании. Короче в любом случае получаете отказ. То что вы назовете это не отказом, а переходом в известное состояние (состояние аварии  ) ничего не меняет. Короче аргумент с FS не валидный. Дайте че нить другое.
|
|
|
|
|
Apr 30 2018, 08:26
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ Apr 30 2018, 11:14)  Как то не верю. Да конечно! Если Вы допускаете что в Ваших изделиях "даже могут возникнуть конструктивные повреждения" или оно может просто повиснуть просто из-за того что помеха проскочила по интерфейсу - понятно, что для вас являются фантастикой любые устройства которые не виснут.  Цитата(AlexandrY @ Apr 30 2018, 11:14)  Файловые системы и я тестирую. Не раз тут выкладывал результаты максимальной производительности. Не понял..... а где я писал про "файловые системы"?? Пример я привёл для SPI-FLASH. Только как пример. В остальном - поступаю аналогично. Что такое износ - знаю, и он тут как бы совсем не при чём (размер чипа ==128МБ, читайте характеристики современных SPI-FLASH). Цитата(AlexandrY @ Apr 30 2018, 11:14)  И сколько же времени вы тестируете. Берете время c потолка? "сколько времени" я вроде написал в своём посте. Цитата(AlexandrY @ Apr 30 2018, 11:14)  Короче в любом случае получаете отказ. Вы читать вообще умеете??? Запускал тесты на несколько часов, и не один раз - ни одного сбоя. PS: То файловую систему какую-то увидели в моём сообщении, то динамическую память, то какие-то износы и отказы.... Вы мой пост-то прочитали? Поняли?
|
|
|
|
|
Apr 30 2018, 10:49
|

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

|
Цитата(jcxz @ Apr 30 2018, 11:26)  Вы мой пост-то прочитали? Поняли?  Ну как. Я делаю запас на завирания и преувеличения. Эт как бы неизбежно когда мы обсуждаем коней в известной субстанции без ссылок на первоисточники. Несколько часов на тестирование файловой системы...? Вы меня хотите рассмешить? Я файловые системы тестирую неделями. Трачу на написание тестов кучу времени и все равно не знаю все их метрики и все их поведение. За свои несколько часов вы узнаете только характеристики износа только одного конкретного чипа. С другой стороны если у вас не файловая система, а несколько процедурок записи в физические сектора, то че там тестировать?
|
|
|
|
|
Apr 30 2018, 17:59
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(jcxz @ Apr 30 2018, 10:45)  Это только говорит о том, что данное устройство неправильно спроектировано. Никакая комбинация входных данных (валидных или просто мусора) с любой частотой повторения на внешних интерфейсах не должна вводить устройство в состояние ступора либо любое другое нерабочее состояние. Если это не так - это кривое устройство и надо переделывать. ППКС Цитата В CAN-е это аппаратно сделано нет там этого аппаратно. там транспортный уровень аппаратный, а протокольного нет. Например преобразователь протоколов CAN-USART (кан в любой серийный... Modbus, Гранит, МЭК-101, Лисна-Ч....) По кану от датчика приходят данные, их надо передать по МЭК-101 на OPC-сервер. Раз в секунду датчик передает пакет, преобразователь преобразовывает и передает дальше. Если пакеты от датчика пойдут 100 раз в сек.... - преобразователь может не успеть их обрабатывать... Если пакеты от датчика буферезировать, то может переполниться буфер. Ни какой аппаратный кан не поможет. Цитата Попробуйте "стресс-тест" провести где нить в сети промышленных логических контроллеров. Тоже получите катастрофу. Делаем. Нет катастрофы. Например эл.счетчик. Запрос-ответ, запрос-ответ. Начинаем часто запрашивать - тот отвечает или пропускает запросы, но не виснет. Можно послать запрос и не дожидаясь ответа послать ещё запрос - счетчик не должен зависнуть. Цитата сделать грамотное нагрузочное тестирование очень сложно Легко. На китах типа дискавери, на китах ПЛИСовых, на ПК. Цитата во вторых оно не для выявления ошибок Если система легла - то в ней ошибка. Не важно от чего она зависла, от стрес-теста, от действия оператора или от положения звёзд на небе. Как мою плату положет тестировщик - мне не важно. Мне важно, чтобы я мог повторить эти действия и плата легла. Если стрестест её положит за минуту - это замечательно. Попробую под дебагом положить плату, буду смотреть почему лежит, буду смотреть стек вызовов. Либо без дебага, но с дебажними вставками и журналированием. Вобщем если раз в минуту я могу положить плату, то бага находиться быстро. ps Цитата сработает WDT в один прекрасный момент отказался от WDT. Эта штука как минимум не нужна, как максимум опасна. Если плата зависла - в программе есть ошибка, нужно её устранять. WDT пересбросит плату и ни кто не узнает о проблеме, пока гильотина не отрежет руку или не упадет самолёт не случиться непоправимое. Если плата работает круглые сутки, годами, без зависаний и без WDT - для меня это показатель, что ошибок нет.
|
|
|
|
|
May 1 2018, 03:51
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (juvf @ May 1 2018, 01:59)  Эта штука как минимум не нужна, как максимум опасна. Я тоже так раньше думал  Но со временем пришёл к выводу, если она есть, то почему бы и не использовать? Ведь WDT не просто перезагрузит плату, он ещё и выставит флаги статуса в специальном регистре, что позволит залогировать это событие. А главное, устройство хоть и зависнет, но всё же продолжит работу спустя таймаут. Я вовсе не говорю, что благодаря псу можно делать программы и железо тяп-ляп, но никто не застрахован от ошибок. Так почему бы на этот случай не оставить себе хоть маленькую, но панацею?
--------------------
Выбор.
|
|
|
|
|
May 1 2018, 04:27
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(AlexandrY @ May 1 2018, 00:56)  Если вам не нужен значит вы просто не разрабатываете под риалтайм, т.е. вам пока что его просто не доверяют.  Кто и что мне чего то там доверяет или не доверяет? У вас это из темы в тему. Это вам кроме красной кнопки похоже чего-то не доверяют, вот вы и считаете, что кому-то что-то кто-то должен доверить. Цитата Спецы из NXP дискуссию с вами на этом и закончили бы. Как обычно - пустослов. Говорите за себя. А по теме ни чего не сказали..... хотя судя по вашим высказываниям про стрес-тест - с вам говорить дальше не о чем. Цитата Ведь WDT не просто перезагрузит плату готов подискутировать, но не в этой теме.
|
|
|
|
|
May 1 2018, 05:23
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (juvf @ May 1 2018, 12:27)  готов подискутировать, но не в этой теме. Я тоже, создайте, пожалуйста, новую тему с названием, которое вам наиболее удобно. QUOTE (AlexandrY @ Apr 30 2018, 18:49)  Я файловые системы тестирую неделями. Трачу на написание тестов кучу времени и все равно не знаю все их метрики и все их поведение. Расскажите, пожалуйста, как вы тестируете ФС? И почему неделями? Какие тесты требуют такого длительного времени?
--------------------
Выбор.
|
|
|
|
|
May 1 2018, 11:25
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(juvf @ Apr 30 2018, 20:59)  в один прекрасный момент отказался от WDT. Эта штука как минимум не нужна, как максимум опасна. Если плата зависла - в программе есть ошибка, нужно её устранять. Ну вот и зря. Кроме программных ошибок, от которых кстати собака не всегда "спасает", есть еще и аппаратные проблемы, слишком плавное нарастание питания, дребезг в цепях питания и т.п. с которыми собака хорошо справляется, поэтому никогда от нее не отказываюсь, а программные баги отлавливаю логированием в критических к зависаниям функциях...
|
|
|
|
|
May 1 2018, 19:05
|

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

|
Цитата(haker_fox @ May 1 2018, 08:23)  Расскажите, пожалуйста, как вы тестируете ФС? И почему неделями? Какие тесты требуют такого длительного времени? В моем тулбоксе около 10 разных файловых систем. Большинство я тестировал. Тесты охватывают основные сервисы файловой системы. Но главное это степень детерминированности файловых операций. Чтобы набрать надежную статистику на уровне 0.98 пары часов конечно недостаточно. Причем тесты надо повторять при смене платформы, компилятора и даже опции оптимизации в компиляторе. А еще же есть десятки параметров в самой файловой системе которые тоже надо все перебрать. Или тут про CAN тема. В многозадачном приложении CAN строится на очередях причем очереди к каждой задаче потребителю. Как выбрать глубину очереди и главное приоритеты задач чтобы не нарушить риалтайма? Здесь не тестирование до ошибки нужно, а итеративное тестирование с подстройкой или вариацией средств межзадачной синхронизации. Т.е. сложная и не факт что всегда оправданная процедура. Я так понял что некоторые говоря о тестировании подразумевают только лишь проверку работоспособности примитивных механизмов управления потоком у отдельно взятого интерфейса. Это просто непонимание сложности темы тестирования.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|