- ..не зарекайся, вот те радиационно-стойкая ПЛИС на Flash'е -=> - blackbit(30.07.2010 20:11 - 20:14, MCU, ссылка, полностью)Shura
- Неважно. Если помехи повреждают данные на аппаратном уровне, то "это 3.14здец, а он у нас не лечится". Никакими программными заплатками это не вылечишь. - Shura(23.07.2010 16:16 - 28.07.2010 15:02, MCU, полностью)
- разработчикам медаппаратуры неиспользование мисры ничем не грозит :> это вообще автомобилисты для себя придумали изначально, если что - Snaky(28.07.2010 14:58, MCU, полностью)blackbit
- да, давайте ту монстроидальную тему хотя бы понемногу растянем на куски. - Vladimir Ljaschko(29.07.2010 13:19)
- Главное на данном этапе не предстать перед ним динозавром, не знающим очевидные вещи, общепринятые при разработке медаппаратуры ;) Dir(768 знак., 28.07.2010 20:31)VL
- Вот спасибо за объяснение :) А то чуть было на лицензионный IAR для ARM не потратился, чтобы закордонного заказчика ублажить обладанием этой самой Mисрой. - Dir(28.07.2010 15:55)
- Можно для проверки правил MISRA использовать PC-Lint: - SciFi(29.07.2010 13:11, ссылка)
- MISRA - это набор правил, позволяющий исключить взаимонепонимание "что хотел программист" и "как это понял компилятор". IAR может проверять программу по этим правилам, выдавая warning'и. На результирующий код это не влияет. - testerplus(28.07.2010 17:53)
- Спасибо. Интересовало в основном насколько обязательно применение MISRA для разработки медаппаратуры. Вопрос чисто денежный (6тыс.$) и упирается в разногласия насчет возможности/невозможности применения GCC. - Dir(28.07.2010 18:10)
- К счастью, это совсем не обязательно. Говорю, правда, не за всю медаппаратуру. У неё много классов. Самые жесткие требования предъявляются к аппаратуре, поддерживающей жизнедеятельность. Менее строгие требования к аппаратуре с лечебным воздействием, а serhuey(392 знак., 30.07.2010 13:58,
)
- MISRA - не обязательно, если заказчик не требует. К конкретному компилятору этот набор правил отношения не имеет. Можно, придерживаясь его, и на GCC писать. Документ стоит 10 фунтов -> testerplus(398 знак., 28.07.2010 18:58, ссылка)
- Ни у кого прошивочки для EZ430U того, самого первого, еще с 4-ех контактным разъемом нет? Alechin(266 знак., 30.07.2010 07:49,
, MCU, полностью)MBedder
- Вот уроды.Жаль , использовать флеш в качестве ЕЕПРОМ мне лично моя параноя не позволяет.Тут не журналом РАДИО тут приложением к ЮТ для умелых рук попахивает.Разве что результат не важен. - PlainUser(22.07.2010 07:27,
, MCU, полностью)Shura
- Уточняю , отдельную страницу флеши для доступа в которую необходимо ВРУЧНУЮ чего-нибудь попереключать в регистрах можно приравнять к ЕЕПРОМ в контексте данного топика.Речь именно о возможной порче исполняемого кода при корявой записи каких-нибудь PlainUser(12 знак., 26.07.2010 12:31,
)
- Почему бы тогда не вести речь о просто возможно неправильной ("корявой") работе программы? Хотя некоторые контроллеры имеют защиту от стирания/записи для части программной памяти. - fk0(26.07.2010 22:48)
- Если в процессе записи будут проблемы с питанием то возможна порча кода вследствии появления неверных адресов на шине.В отдельном-же банке нужно еще его переключить. - PlainUser(27.07.2010 07:18,
)
- Но согласитесь, если в контроллере индивидуальная супер-пупер установка разрешения стирания/записи секторов, то теоретически программная память никогда не испортится. Но и не обновится :) Vladimir Ljaschko(261 знак., 27.07.2010 08:52)
- Не супер-пупер а обычный регистр в котором нужно поставить нужный битик или снять его. PlainUser(155 знак., 27.07.2010 10:47,
)
- При чем тут идиот? Vladimir Ljaschko(423 знак., 27.07.2010 10:58)
- Защиту от перезаписи блоков флеши в некоторых МК посерьезней защищают (увы, не у всех:)). sbb(468 знак., 27.07.2010 12:46)
- Программа конечно может вылететь на неправильный адрес , физически это возможно , вот только приличных методов борьбы с этим в рамках одного процессора нет. - PlainUser(27.07.2010 12:08,
)
- Снять битик в регистре программа сама не сможет , и талантливый дятел изучающий глубины ООП в общем то-же.Запись в регистр это действие которое нужно совершить осознанно.А вот писать не в тот адрес из-за дурацких указателей на структуры это легко. - PlainUser(27.07.2010 11:10,
)
- Ну а если МК содержит встроенный бутлоадер, то устройство может сбойнуть, запустить бутлоадер и стереть само себя, так? :-) - Shura(27.07.2010 11:01)
- Достаточно бредовое утверждение. При адекватном контроллере Flash, ГРАМОТНОМ КОДЕ и т.п. -- Flash даже лучше. Но в счёт большей софтовой сложности, за то EEPROM и любят. - fk0(23.07.2010 16:26)
- чушь редкостная. EEPROM нет ни у MSP, ни у силабса, ни у STM/STR, и никто не жалуется. Запись данных во FLASH обычно требует немного больше ОЗУ (на буфер страницы), которого в PIC/AVR хронически мало koyodza(344 знак., 22.07.2010 09:54 - 10:05)
- Много нюансов в которые вдаваться неохота. Тема вообщето про дешевый и простой проц.Для использования флеша нужно приличный источник питания что по цене дороже доп еепрома и приличная программа , чтоб точно писать куда надо когда надо.Все это с PlainUser(41 знак., 22.07.2010 12:08,
)
- Не чушь, мне жаловались (однажды правил программу, управляющую подъемником в производственном цехе). Два года работало как часы, а потом подъемник стал зависать между "этажами" (ячейками). Как выяснилось, проблема была в исчерпанном "цикло"-ресурсе testerplus(541 знак., 22.07.2010 11:08)
- ни один из приведенных аргументов не выдерживает критики. Shura верно указал на источник проблем - koyodza(22.07.2010 11:47)
- Да с источником проблем все понятно. А какой из аргументов не выдерживает критики? Я привел два: требуется большой объем памяти для хранения малого объема данных (это когда пытаемся стирать пореже) и проблемы с содержимым flash при потере питания во testerplus(16 знак., 22.07.2010 11:55)
- нет никаких проблем при стирании, просто стираемый сектор остаётся с мусором. Хранить по одному параметру в одном секторе тоже не нужно, есть несколько способов решения. То, что памяти тратится больше - пусть, кого это волнует? Ну выделил я два участка koyodza(123 знак., 22.07.2010 12:14)
- Он остается не с мусором, а с данными, которые будут нестабильно читаться. Тут и контрольная сумма может не спасти (тем более на практике видел, как некоторые ее вычисляют простым XOR-ом). А насчет "кого волнует больше памяти": в контроллере LPC1102 32 testerplus(635 знак., 22.07.2010 12:30)
- это с какой радости память программ контрольной суммой тестируется, а память данных нет? Ну а 2кБ я указывал как пример, мне обычно хватает 1кБ для настроек и столько же для их дублирования. Для защиты применяется СRC, запись копии не начинается до koyodza(268 знак., 22.07.2010 12:41)
- Все должно тестироваться контрольными суммами. Но в Вашей схеме с одним блоком есть слабое место: когда-то его придется стереть для перезаписи. Понятно, что пропадание питания или мега-нано-помеха в этом случае редкость (хотя, смотря в каких условиях testerplus(161 знак., 22.07.2010 12:55)
- кто сказал про один блок? Чукча не читатель? "столько же для их дублирования" - koyodza(22.07.2010 13:30)
- Пардон, прочитал как "их же для дублирования" :) Но тогда ведь уже ощущается потеря памяти? testerplus(322 знак., 22.07.2010 13:56)
- ну у Вас то вообще троирование Ж=Р - koyodza(22.07.2010 16:20)
- А что тут смешного? Есть вариант проще? Я как раз готовлю материал по теме отказоустойчивости ПО в МК, там затрону тему сохранения данных в энергонезависимую память. С радостью опишу более простой и надежный вариант, чем троирование. И к слову: testerplus(315 знак., 22.07.2010 16:45)
- Как удалось увидеть столько чужих исходников? Все же их скрывают, так как боятся, что будут осмеяны. - Леонид Иванович(23.07.2010 02:03)
- По работе в основном занимаюсь выискиванием ошибок в программах. Есть постоянные клиенты. А насчет осмеяния: этого боятся, наверное, только в России, тут прогаммисты поамбициознее в плане иллюзий по поводу своей ведущей роли в проектах, а просветления testerplus(777 знак., 23.07.2010 09:22 - 09:33)
- тут можно смотреть, например -> - Snaky(23.07.2010 08:52, ссылка)
- Исходники приоритетного троирования! Смейтесь! :) Vladimir Ljaschko(455 знак., 23.07.2010 07:33)
- Немного странная реализация. Конечно, надо видеть, что там дальше делается (и что внутри РестореОллСетап'а), но это все же дублирование (даже если 5 копий сделать), а не троирование. testerplus(514 знак., 23.07.2010 09:31)
- "контрольная сумма все еще будет сходиться, а данные уже будут битыми" - поясните - koyodza(23.07.2010 14:17)
- Да, у меня не мажоритарное сравнение, а Vladimir Ljaschko(613 знак., 23.07.2010 09:59)
- Я просто отметил, что Ваш пример - это не троирование. Там, где допускается частичная потеря данных, вполне нормальный подход. А оптимальность алгоритма (не реализации) обратнопропорциональна требованиям к надежности. Порой хватает и одной копии (с testerplus(37 знак., 23.07.2010 10:28)
- Вопрос в критерии по которому могут быть использованы данные , при двух последних сбойных используется самый старый блок.Если так то есть время записать и три одинаковых. - PlainUser(23.07.2010 10:25,
)
- Вопрос ещё проще. Если, как тут рассказывали, помехи такие сильные, что повреждают данные при записи во флеш, то кто им мешает повредить данные в ОЗУ, которые потом будут успешно 3 раза переписаны в EEPROM :-) - Shura(23.07.2010 15:55)
- "Люди думали" (с) Автоматически сохраняется только последний банк. Все банки сохраняются только в редких случаях UI, когда информация прошла проверку целостности. - Vladimir Ljaschko(23.07.2010 16:13)
- И чем здесь 2 копии лучше 3х? - testerplus(23.07.2010 16:00)
- Ничем. А чем здесь EEPROM лучше Flash? :-) - Shura(23.07.2010 16:05)
- 2 копии хуже 3х, т.к. только по трем можно восстановить данные (или принять решение о их некорректности). А EEPROM лучше флеш по объему (не надо по странице выделять на каждую копию), по безопасности (не нужно писать что-то туда, где есть прорамма) и по testerplus(69 знак., 23.07.2010 16:15)
- Вы уж сначала определитесь - что вы считаете некорректными данными и какие возможные причины их появления. Ибо бороться можно только с известными явлениями, но не с вторжением инопланетян. - Shura(23.07.2010 16:47)
- по пунктам: koyodza(1078 знак., 23.07.2010 16:28)
- "Да и туда, где находится программа, никто не пишет, страницы выделяются отдельные." Я так понял, что если в программе используются таблицы, то их, грубо говоря, записывать подальше от программного кода? Чтобы в другие страницы mazur(106 знак., 26.07.2010 11:18)
- По пунктам 2 и 4 возражения считаю несерьезными. А по первому и третьему я бы поспорил, но уже устал бодаться. (Надеюсь, в п.3 про АВР и местоположение EEPROM - это шутка?) testerplus(3191 знак., 23.07.2010 21:39)
- Кстати да, большие современные EEPROM часто не побайтовые, а по-страничные -- и при сбое питания гробится страница (до 256 байт) целиком. Atmel как бы подтверждает... - fk0(23.07.2010 18:06)
- По-безопасности: flash позволяет данные хранить на кристалле с MCU. Его снаружи не считать. А EEPROM на I2C? Нужно шифрование. - fk0(23.07.2010 18:04)
- 0. Мы в 1998 году освоили i2c eeprom совместно с pic16c86 и до конца света в 2013 году будем его ставить. - fk0(23.07.2010 18:03)
- Вы уже передергивать начали - Alex B.(23.07.2010 17:03)
- ничем ;=) - koyodza(23.07.2010 16:11)
- проще предложить не смогу, это факт. Насчёт среднего уровня коммерческих разработок моя статистика примерно та же - koyodza(22.07.2010 17:13)
- Поддерживаю. Всегда считал дополнительным риском запись в программную флеш в процессе работы. Хорошо, когда в МК есть аппаратная защита отдельных блоков флеш, которая не снимается просто программой. - sbb(22.07.2010 15:51)
- Проблема была не в исчерпанном "цикло"-ресурсе flash а в мозгах у разработчика. "Грамотным" долбежом можно и EEPROM замучить и даже FRAM - Shura(22.07.2010 11:36)
- Не стоит так категорично. Я жалуюсь :) В проект с MSP430 добавлял внешнюю EEPROM. - Vladimir Ljaschko(22.07.2010 10:04)
- не понимаю ваших проблем - Alex B.(21.07.2010 14:13)Shura
- Чо, уже и байты сами по себе местами меняются? Куда котитца этот говённый мир.... - Shura(26.07.2010 10:46, MCU, полностью)blackbit
- Чем заменить Atmega8 ? В общем то мне Атмел никуда не уперся в смысле процессоров.Но вот единственная приятная позиция для средне-мелких поделок была. PlainUser(94 знак., 19.07.2010 11:45,
, MCU, полностью)
- Попала в руки такая штуковина: gm9/18-485/232 на основе msp430f149 На сайте производителя говорится о перепрограммировании по jtag-интерфейсу. Но при попытке соединиться с помощью MspFet выяснилось, что пережжена защитная перемычка. Получается, что у sf(126 знак., 16.12.2009 16:53,
, MCU, полностью)
- Люди, болталась свеженькая тема про TFT с SPI, не могу найти. Не ткнете? - Vladimir Ljaschko(28.07.2010 14:39, MCU, полностью)
- Что с Atmel случилось? Нигде нельзя купить его продукцию. Понадобились AT45DB321D, так никто раньше сентября срок поставки не указывает. Мне бы подошли и AT45DB161D, но и их нигде нет! - FDA(09.07.2010 11:56, MCU, полностью)
- SILABS: Проблема с портами P5,P6,P7 на C8051F064. PiTeK(377 знак., 26.07.2010 12:28, MCU, полностью)
- Предлагаю соцопрос: Соотношение хардверных и софтверных ошибок в типовом проекте небольшого прибора.ИМХО 1:1000.Кто больше? - PlainUser(12.07.2010 09:07,
, MCU, полностью)Shura
- Хочется тут ещё сказать. IMHO софтовые проблемы в области embedded часто связаны, что программированием, и особенно архитектурой софта, занимаются не программисты, а программисты-микроконтроллеров (которым бы по-уму или в железо уходить, или таки в fk0(15 знак., 23.07.2010 16:39)
- При < 30000 строк кодa произведственная версия имеет меньше 1000 ревизий (и, следовательно, ошибок раз в ~10 меньше). Что считать ошибкой ещё вопрос. - fk0(23.07.2010 16:20)
- фтему -> - Т.Достоевский(16.07.2010 05:30, ссылка)
- ..некорректный опрос - сложность софтовой части выше аппаратной. blackbit(531 знак., 14.07.2010 15:54)
- Трудновато однако разделить мух и котлеты сделанные из мух. ;) AlexandrY(471 знак., 12.07.2010 11:10)
- Тут трудно считать. Ну скажем так, количество хардварных ошибок, выявляемых как на стадии разработки ПО, так и дальнейшей эксплуатации готового изделия И количество софтверных ошибок выявляемых у готового устройства СООТНОСЯТСЯ как 1:1 при =AlexD=(180 знак., 12.07.2010 10:33)
- Что за зверь Sharp MK5? Ксения(441 знак., 25.07.2010 20:23, MCU, ссылка, полностью)
- А есть где-нибудь более-менне официальный сайтик, где можно набрать строку ReAl(277 знак., 08.01.2007 14:29, MCU, полностью)
- Кто работает с C8051F350? Проконсультируйте. Наш программист тут столкнулся с ситуацией, когда глобальные или статические инициализированные (именно инициализированные!) переменные, размещенные "где попало", влияют на работоспособность rezident(548 знак., 23.07.2010 11:49, MCU, полностью)