|
Целесообразность тестирования памяти и регистров |
|
|
Guest_Serg79_*
|
Apr 28 2007, 09:57
|
Guests

|
В данной теме мне хотелось бы обсудить вопрос целесообразности проведения тестирований памяти и регистров микроконтроллера.
Теперь хочу высказать свои мысли по этому поводу. Одним из главных требований выдвигаемых к программному обеспечению (ПО) для встраиваемых систем, это – контроль и проверка правильного функционирования рабочего окружения программы. К этому набору относятся, касательно микроконтроллеров AVR, регистры общего назначения (РОН), оперативно запоминающее устройство (ОЗУ), регистр состояния выполнения программы (SREG), память хранящая код программы (FLASH) и устройства с которыми работает программа (USART, ADC, TWI и т.д.). Так что в независимости от того хочешь ты этого или не хочешь, твоя программа помимо того что должна соответствовать требованиям выдвигаемым “техническим заданием”, дополнительно должна выполнять все требования предъявляемые к ПО для встраиваемых систем.
Высказывания такого характера как: ”Да что их проверять, за всю мою долгую историю собирания разных устройств на коленка, еще не у одного контроллера не выбило ячейку памяти” или ”Этого не может быть потому что этого не может” и ”т.д.”, просто не выдерживают никакой критики.
А вот вопросы касающиеся целесообразности проверки того или иного узла микроконтроллера и глубины проверки одного взятого узла мне бы и хотелось здесь обсудить.
Вот я и хочу услышать мнение тех людей, которым приходилось сталкиваться с данными вопросами, а так же послушать их высказывания по этому поводу и методы решения этих проблем.
|
|
|
|
|
 |
Ответов
|
Apr 30 2007, 00:35
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(KRS @ Apr 28 2007, 12:58)  А вот у меня был реальный случай в ATMega8515 5 бит в регистре R12 (или R14 не помню точно). не всегда устанавливался в еденицу. а использовался этот регистр в прерывании там сохранялся указатель на очередь клавиатуры. Так вот глюк был совершенно смешной нажимаешь 16 раз на клавиатуре, а потом она сама еще 16 раз нажимает, и так далее... Я запарился искать, потом когда в очередной раз поменял код все регистры сохранял в стеке и не использовал этот все работало. Написал простой тест регистров, так вот на всех платах кроме одной тест проходил. Но такой контроллер мне попался один из нескольких тысяч. НЕВЕРЮ! Ну хоть убейте не верю. У вас выбит один бит в регистре и при этом у Вас только кнопка не работает?!!!!!!! Это чтож за программа у Вас была такая? Если писать на ASMе и при этом программа байт 500, то тогда ещё такое возможно. Но в реальном проекте данный камень бы просто не работал! Это совершенно очевидно. Хотелось бы услышать zltigo. Вот Вы в каждое изделие вставляете тест памяти. Сколько у вас было случаев неисправности ОЗУ? Сколько у Вас было случаев неисправности озу, при котором изделие работало, но скажем сбоило? Ну и последний самый главный вопрос Вам как специалисту. Можно ли написать такой тест, который в случае выхода из строя ОЗУ либо регистров в процессе работы изделия делал "проверка правильного функционирования рабочего окружения программы". Ну и если это возможно, то насколько это загрузит процессор. На мой взгляд, о чём я и писал в предыдущей ветке, вопрос не только в возможности, но и в целесообразности! Можно всё! Но, на мой взгляд нецелесообразно. Потому, что я, кпримеру, не возьмусь за написание такой программы, которая со 100% вероятностью при неисправности озу или регистров не выполнит ЛЮБОЕ ДЕЙСТВИЕ. Если же мы вернёмся к IBM, то думаю zltigo Вам подтвердит, что там сначала проверяется маленький участок озу и только потом запускается дальнейшее тестирование! Если привести это грубо к какому-то знаменателю, то они не гарантируют прохождение теста если не работает маленький кусочек ОЗУ и процессор в начальный момент. Работоспособность регистров должна быть обязательно. Иначе последствия непредсказуемы. Существуют у нек. МП немаскируемые вектора по ошибочной команде, тогда в принципе возможно создать систему с защитой от таких ошибок. Но это к AVR не относится.
|
|
|
|
Сообщений в этой теме
Serg79 Целесообразность тестирования памяти и регистров Apr 28 2007, 09:57 arttab В серии есть сбои в работе мк. раньше основная про... Apr 28 2007, 10:14 Dog Pawlowa Цитата(Serg79 @ Apr 28 2007, 09:57) В дан... Apr 28 2007, 10:35 beer_warrior МК достаточно сложное устройство и полноценная про... Apr 28 2007, 10:50 Serj78 я не вижу смысла проверять целостность внутренних ... Apr 28 2007, 11:17 =AVR= Проверка работоспособности МК самим МК, работоспос... Apr 28 2007, 11:23 zltigo Цитата(=AVR= @ Apr 28 2007, 11:23) Провер... Apr 29 2007, 13:06 Дон Амброзио Цитата(=AVR= @ Apr 28 2007, 14:23) Провер... Feb 11 2008, 18:16 VladimirYU МК в конечном счете лишь часть системы, может быть... Apr 28 2007, 11:43  KRS Цитата(SasaVitebsk @ Apr 30 2007, 01:35) ... Apr 30 2007, 11:46   SasaVitebsk Цитата(KRS @ Apr 30 2007, 11:46) Если вы ... Apr 30 2007, 12:11  zltigo Цитата(SasaVitebsk @ Apr 30 2007, 00:35) ... May 1 2007, 00:48 Kovrov Тоже очень больной вопрос....
У меня в одном проек... Apr 29 2007, 12:46 Dog Pawlowa Цитата(Kovrov @ Apr 29 2007, 12:46) Тоже ... Apr 29 2007, 19:50 sadat Добавлю свое замечание по этому вопросу.
Из опыта,... Apr 29 2007, 14:53 singlskv Долго думал участвовать в обсуждении или не участв... Apr 30 2007, 00:55 Nanobyte А вот ещё какой вопрос возникает.
Все предложенные... Apr 30 2007, 19:56 umup ЦитатаТак как КР580 выполнен на динамических регис... Apr 30 2007, 20:52 Nanobyte Очень просто. Статические регистры выполнены на об... Apr 30 2007, 21:12 bodja74 2Nanobyte
Незнаю как РОН ,но SRAM в AVR указано я... Apr 30 2007, 23:23 Nanobyte Цитата(bodja74 @ May 1 2007, 00:23) ...Не... May 1 2007, 00:09 slog Можно проверить CRC EEPOM и FLASH, как самые вероя... May 2 2007, 13:19 SasaVitebsk Цитата(slog @ May 2 2007, 13:19) Можно пр... May 2 2007, 16:37 ПАВ Хочу сказать свои два слова.
В общем случае разли... May 9 2007, 06:34 klop Для средненькой прооверки памяти AVR польззовал сл... May 9 2007, 16:27 Getmanov Для любой встроенной системы, имеет смысл тестиров... Feb 11 2008, 18:49 Дон Амброзио Цитата(Getmanov @ Feb 11 2008, 21:49) тес... Feb 11 2008, 20:05  Getmanov Цитата(Дон Амброзио @ Feb 11 2008, 22:05)... Feb 14 2008, 09:41   SasaVitebsk Цитата(Getmanov @ Feb 14 2008, 13:41) Для... Feb 14 2008, 11:14   Дон Амброзио Цитата(Getmanov @ Feb 14 2008, 12:41) Пер... Feb 14 2008, 15:45    Dog Pawlowa Цитата(Дон Амброзио @ Feb 14 2008, 19:45)... Feb 15 2008, 04:31    Getmanov Цитата(Дон Амброзио @ Feb 14 2008, 17:45)... Feb 16 2008, 00:29     Дон Амброзио Цитата(Getmanov @ Feb 16 2008, 03:29) А в... Feb 16 2008, 11:32      zltigo Цитата(Дон Амброзио @ Feb 16 2008, 14:32)... Feb 16 2008, 11:48       Дон Амброзио Цитата(zltigo @ Feb 16 2008, 14:48) не со... Feb 16 2008, 13:09      Getmanov Цитата(Дон Амброзио @ Feb 16 2008, 13:32)... Feb 16 2008, 12:52 galjoen Насчёт тестов считаю, что они полезны, но не особо... Feb 11 2008, 20:35  Дон Амброзио Цитата(galjoen @ Feb 11 2008, 23:35) Насч... Feb 11 2008, 20:44 SasaVitebsk Стиральная доска всегда надёжнее чем стиральная ма... Feb 15 2008, 11:02 _Pasha По поводу надежности программы.
Вот, я, например, ... Feb 16 2008, 11:53 galjoen Цитата(_Pasha @ Feb 16 2008, 14:53) По по... Feb 16 2008, 12:53 SasaVitebsk Цитата(_Pasha @ Feb 16 2008, 15:53) По по... Feb 16 2008, 13:17  _Pasha Цитата(SasaVitebsk @ Feb 16 2008, 16:17) ... Feb 16 2008, 14:14   SasaVitebsk Цитата(_Pasha @ Feb 16 2008, 18:14) У мен... Feb 16 2008, 22:38    _Pasha Цитата(SasaVitebsk @ Feb 17 2008, 01:38) ... Feb 17 2008, 08:02     Getmanov Цитата(SasaVitebsk @ Feb 17 2008, 11:46) ... Feb 18 2008, 14:57      Дон Амброзио Цитата(Getmanov @ Feb 18 2008, 18:57) При... May 18 2008, 18:40       Getmanov Цитата(Дон Амброзио @ May 18 2008, 21:40)... May 18 2008, 19:10        BigBolt Цитата(Getmanov @ May 18 2008, 23:10) А т... May 19 2008, 04:11         _Pasha Цитата(BigBolt @ May 19 2008, 07:11) Снач... May 19 2008, 04:54          BigBolt Цитата(_Pasha @ May 19 2008, 08:54) Извес... May 19 2008, 08:01          tag Цитата(_Pasha @ May 19 2008, 08:54) Извес... May 19 2008, 10:23         Getmanov Цитата(BigBolt @ May 19 2008, 07:11) Можн... May 19 2008, 04:58         zltigo Цитата(BigBolt @ May 19 2008, 06:11) Можн... May 20 2008, 10:05          BigBolt Цитата(zltigo @ May 20 2008, 14:05) А пот... May 20 2008, 10:57          sKWO Цитата(zltigo @ May 20 2008, 13:05) одна ... May 20 2008, 12:03 SasaVitebsk Конечно - это всё не праздные вопросы. И в каждом ... Feb 17 2008, 09:46 _Pasha Цитата(SasaVitebsk @ Feb 17 2008, 12:46) ... Feb 17 2008, 09:52  SasaVitebsk Цитата(_Pasha @ Feb 17 2008, 13:52) Брат ... Feb 17 2008, 10:14 vetal Мне, вот, просто интересно стало. А что же делать ... May 16 2008, 08:01 BigBolt Интересно...., а контроль переполнения стека тоже ... May 20 2008, 09:42 Rst7 ЦитатаИнтересно...., а контроль переполнения стека... May 20 2008, 10:00 defunct Цитата(Rst7 @ May 20 2008, 13:00) Плохо т... May 20 2008, 10:14
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|