Это моё личное предвзятое мнение. Любое совпадение с реальностью является случайным и непреднамеренным.
-
- Например, FreeRTOS поддерживает stdlib "out of box" (при использовании newlib), смотри макрос configUSE_NEWLIB_REENTRANT VVB(669 знак., 18.09.2014 06:51)
- Надёжность увеличивается за счёт тестирования и ловли исключений, а в работе много вопросов - в частности сможет ли система корректно и безопасно для внешнего механизма завершить работу или перезапуститься. Контроль адресного пространства здесь не =AlexD=(9 знак., 18.09.2014 07:53)
- MPU лишь один из многих механизмов, повышающих надёжность ПО, в дополнение к базовому тестированию модулей и функциональному тестированию. VVB(701 знак., 18.09.2014 08:51)
- Давай начнём с того, что изоляция адресных пространств понадобилась большим машинам для того, что-бы криворукие юзеры не гадили друг-другу и ОСьке, намеренно, или случайно кривыми руками и косыми программами. =AlexD=(815 знак., 18.09.2014 10:59)
- Самый простой реальный пример VVB(642 знак., 18.09.2014 11:07)
- Учитывая, что у вас более 10 МК (как вы писали ниже) и небольшой тираж, то я бы в данной ситуации поставил на эту задачу отдельный МК. Цена МК окупилась бы экономией рабочего времени. - vmp(18.09.2014 22:02)
- Виталий, для общего развития поясни, какое поведение у ИВЛ при отказе критического компонента (например, движка/насоса или платы управления ими)? - amusin(18.09.2014 14:31)
- Предусмотрены несколько аварийных режимов работы VVB(403 знак., 18.09.2014 14:35)
- А если это ЭРЭ сам ЦПУ(МК)? Я не из ехидства, интересно, а есть ли "концевик" в ИВЛ. - Chum_A(18.09.2014 15:08)
- Там много МК (больше десятка). VVB(190 знак., 18.09.2014 15:14)
- Если не секрет, что за связной интерфейс между МК? - Chum_A(18.09.2014 15:50)
- CAN. Будет потом несколько CAN одновременно для разделения разных потоков данных и организации hot-plug - VVB(18.09.2014 15:53)
- Спасибо. Ещё вопросик, поверх CAN-а что-то самопальное или нет? - Chum_A(18.09.2014 16:30)
- Да - VVB(19.09.2014 11:17)
- Спасибо. Ещё вопросик, поверх CAN-а что-то самопальное или нет? - Chum_A(18.09.2014 16:30)
- CAN. Будет потом несколько CAN одновременно для разделения разных потоков данных и организации hot-plug - VVB(18.09.2014 15:53)
- Если не секрет, что за связной интерфейс между МК? - Chum_A(18.09.2014 15:50)
- Там много МК (больше десятка). VVB(190 знак., 18.09.2014 15:14)
- Есть еще инженеры в наших селениях :-) Терпения и успехов! - amusin(18.09.2014 14:48)
- А если это ЭРЭ сам ЦПУ(МК)? Я не из ехидства, интересно, а есть ли "концевик" в ИВЛ. - Chum_A(18.09.2014 15:08)
- Предусмотрены несколько аварийных режимов работы VVB(403 знак., 18.09.2014 14:35)
- вот только если прибиваемая задача при жизни наставила семафоров, захватила мютексами всякой периферии, поперенастраивала эту самую периферию под себя, да с приоритетами другух задач поигралась (в целях борьбы с инверсией приоритетов). в общем - Mahagam(73 знак., 18.09.2014 12:20)
- Усложнять ПО нужно только при необходимости и только по необходимому минимуму. VVB(343 знак., 18.09.2014 12:31)
- вот насчёт автоосвобождения ресурсов я бы не был так уверен. - Mahagam(18.09.2014 13:37)
- Усложнять ПО нужно только при необходимости и только по необходимому минимуму. VVB(343 знак., 18.09.2014 12:31)
- Большинство встраиваемых систем строится из расчёта, что все задачи работают постоянно (в крайнем случае они в состоянии ожидания). Просто потому что так проще и надёжнее. Потому что корректное завершение задачи с освобождением всех ресурсов - это =AlexD=(515 знак., 18.09.2014 11:28)
- Хмм, ну вот, простейший пример, а вопросов туча. lwip / usb / fatfs - они у вас в одной задаче будут жить, или таки в разных? А прибивать вы будете только одну задачу, а остальные пусть пытаются жить без неё, или будете убивать целую ветку? =AlexD=(366 знак., 18.09.2014 11:18)
- Многое про классы безопасности ПО написано в ГОСТах на ПО в критических системах безопасности. VVB(682 знак., 18.09.2014 11:26)
- Если не лень, номера ГОСТ-ов можете перечислить. Скажем ни в ГОСТ Р МЭК 61508-3-2007, ни в прил.С к ГОСТ Р МЭК 61508-7-2007 явного требования использования MPU нет (или я плохо читал?). - Chum_A(18.09.2014 14:10)
- Про требование использовать MPU/MMU ни в одном ГОСТе нет ни слова, это лишь инструмент производителя для снижения класса ПО для одной из задач и исключения её из тестового покрытия. VVB(130 знак., 18.09.2014 14:23)
- А если в этой либе результат возвращается с неправильным знаком, тогда что будет без тестового покрытия, но с MMU? - amusin(18.09.2014 14:26)
- Ну выдаст задача неправильный результат в отладочный порт, без влияния на все остальные задачи. VVB(337 знак., 18.09.2014 14:30)
- А если в этой либе результат возвращается с неправильным знаком, тогда что будет без тестового покрытия, но с MMU? - amusin(18.09.2014 14:26)
- Про требование использовать MPU/MMU ни в одном ГОСТе нет ни слова, это лишь инструмент производителя для снижения класса ПО для одной из задач и исключения её из тестового покрытия. VVB(130 знак., 18.09.2014 14:23)
- Включение MPU не даёт вам ничего, кроме того, что один отдельный вид ошибок - обращение по неверному указателю либо перепонение стека - меняет своё проявление. Вам всё равно придётся доказывать, что это проявление не приведёт к катастрофе. - =AlexD=(18.09.2014 11:38)
- один отдельный вид ошибок становится диагностируемым. Вместо продолжения выполнения с необнаруженной ошибкой, имеем аварийный останов. В некоторых задачах такое развитие событий предпочтительнее (т.е. имеем мертвый прибор вместо глючащего). - lightelf(18.09.2014 12:55)
- Некоторые задачи, некоторые условия... с этого и нужно начинать. Включать или нет MPU - это уже где-то в конце списка мероприятий. - =AlexD=(18.09.2014 13:19)
- Категорически не согласен. Включение MPU сильно влияет на построение архитектуры (обмен между задачами только через сервисы RTOS или через расшаренные области памяти). Начинать нужно с определения нужности сторонних библиотек и наличия у них VVB(140 знак., 18.09.2014 13:28)
- У меня закрадывается подозрение, что реализовать некритичную функциональность можно вообще на отдельной плате, а на критической вполне обойтись биглупом :-) - =AlexD=(18.09.2014 14:46)
- Биглуп сложен, если есть обмены по CAN/SPI/I2C (надо городить огород с передачей). VVB(188 знак., 18.09.2014 15:28)
- Вы это бросьте, биглуп прекрасно моделируется на ПиСи, причём можно прогнать весь спектр входных воздействий. Вещьчь абсолютно детерменированная, в отличии от вытесняющей ОСи. - =AlexD=(18.09.2014 19:50)
- Ну это уже тема отдельного холивара VVB(2749 знак., 19.09.2014 05:32)
- Да уж, с таким компотом тяжко наверное :-). Противопоставляете биглуп автоматному программированию, заявляете что биглуп не покрывается TDD, заявляете что программировать на С++ сложнее чем на Си, что MPU бессмыслен при bigloop/protothreads... =AlexD=(43 знак., 19.09.2014 07:10)
- Также странным кажется тезис "автоматное программирование vs вытесняющие RTOS". - Chum_A(19.09.2014 09:16)
- Расскажите, как изолировать библиотеку в bigloop _VVB(235 знак., 19.09.2014 07:36,
)
- Да уж, с таким компотом тяжко наверное :-). Противопоставляете биглуп автоматному программированию, заявляете что биглуп не покрывается TDD, заявляете что программировать на С++ сложнее чем на Си, что MPU бессмыслен при bigloop/protothreads... =AlexD=(43 знак., 19.09.2014 07:10)
- Ну это уже тема отдельного холивара VVB(2749 знак., 19.09.2014 05:32)
- Это вы прекратите :), Protothreads тот же автомат в "
сладкойстранной обёртке". Автомат протестировать можно :)! - Chum_A(18.09.2014 15:49)- Ага. Куча static переменных объявленных внутри функции и сохраняющих своё значение между запусками тестов. Предлагаете все выносить за пределы области видимости функции? - VVB(18.09.2014 15:55)
- Вы это бросьте, биглуп прекрасно моделируется на ПиСи, причём можно прогнать весь спектр входных воздействий. Вещьчь абсолютно детерменированная, в отличии от вытесняющей ОСи. - =AlexD=(18.09.2014 19:50)
- Биглуп сложен, если есть обмены по CAN/SPI/I2C (надо городить огород с передачей). VVB(188 знак., 18.09.2014 15:28)
- У меня закрадывается подозрение, что реализовать некритичную функциональность можно вообще на отдельной плате, а на критической вполне обойтись биглупом :-) - =AlexD=(18.09.2014 14:46)
- Категорически не согласен. Включение MPU сильно влияет на построение архитектуры (обмен между задачами только через сервисы RTOS или через расшаренные области памяти). Начинать нужно с определения нужности сторонних библиотек и наличия у них VVB(140 знак., 18.09.2014 13:28)
- Вот едет какая-то тяжелая штуковина, а её остановка не отработалась.. прибор "умер". Очень будет рабочему радостно быть задавленным честно остановленным агрегатом. - POV(18.09.2014 13:05)
- Как говаривал кпт. Очевидность: "концевик надо было поставить" и вне всяческого ПО :). - Chum_A(18.09.2014 14:15)
- Ну, 21 век на дворе! А у тебя компьютер! Пусть сам всё делает ))) - POV(18.09.2014 14:17)
- Вот это и происходит без MPU. Будет MPU -- можно в обработчике что-то сделать (остановиться), а без MPU может быть всё что угодно, неконтролируемое поведение программы. - VVB(18.09.2014 13:31)
- Если уж обосновывать пользу этой штуки, то приводи пример из жизни. А "в теории" можно много чего напридумывать. Народ никак не может договориться как поступать с WDT, а тут наголову выше. - POV(18.09.2014 13:34)
- Я и высказал сожаление, что на сахаре нет людей, разрабатывающих сертифицированные по европейским стандартам критические системы безопасности. VVB(297 знак., 18.09.2014 13:39)
- Задач, где надо SIL3/4, на порядки меньше остальных. Соответственно и контор. А те, что есть, не факт, что применяют "рюшечки" в виде ОС и т.д. На железке такие применения: управление стрелками, управление тормозами. - amusin(18.09.2014 14:03)
- Вообще данная область вырождается в России -- слишком много надо знаний и усилий для поддержки требуемого уровня квалификации в быстро меняющемся мире. VVB(177 знак., 18.09.2014 14:31)
- Вряд ли проблема в количестве необходимых знаний, скорее в отсутствии платежеспособного спроса. К импортным продуктам больше доверия, за них готовы больше платить, не смотря на фактическое соотношение надежностей. - AlexBi(18.09.2014 14:59)
- Было неск. лет назад сообщение, что для какого-то нашего НИИ купили софт Scade, чтобы тестить ПО для авионики и военщины. Так что где надо, надеюсь, применят. - amusin(18.09.2014 14:46, ссылка)
- К сожалению, услышал слово "НИИ". В гос. учреждениях часто покупают и не используют (осваивают выделенные деньги). VVB(148 знак., 18.09.2014 14:57)
- Scade стоило тогда порядка ляма ненаших денег. - amusin(18.09.2014 15:02)
- К сожалению, услышал слово "НИИ". В гос. учреждениях часто покупают и не используют (осваивают выделенные деньги). VVB(148 знак., 18.09.2014 14:57)
- N лет назад здесь (или на телесистемах) отмечался коллега с говорящим ником pacemaker. Так он не то что ОС не применял - переменные на стеке не держал. - amusin(18.09.2014 14:05)
- Вообще данная область вырождается в России -- слишком много надо знаний и усилий для поддержки требуемого уровня квалификации в быстро меняющемся мире. VVB(177 знак., 18.09.2014 14:31)
- Всему своё место и время. Если задача - надёжно дрыгать ногами в аппаратуре АЭС, то ОС и прочее тут не в пизду. - POV(18.09.2014 13:42 - 13:44)
- если сложность задачи не впихивается в big loop, то переключатель задач сильно повышает надёжность. - Mahagam(18.09.2014 14:05)
- Декомпозиция рулит. Поставьте две однокристаллки. Или четыре. - lightelf(18.09.2014 14:47)
- а если у меня сейчас 10 задач крутятся? то что? 10 камней лепить? а интерфейс между ними разрабатывать? а лишние задержки? а уменьшение надёжности? а увеличение веса/цены/габаритов? - Mahagam(18.09.2014 14:56)
- Смотря как декомпозируете задачу. Универсальной таблетки "от всего" не существует. - lightelf(18.09.2014 15:59)
- а если у меня сейчас 10 задач крутятся? то что? 10 камней лепить? а интерфейс между ними разрабатывать? а лишние задержки? а уменьшение надёжности? а увеличение веса/цены/габаритов? - Mahagam(18.09.2014 14:56)
- Декомпозиция рулит. Поставьте две однокристаллки. Или четыре. - lightelf(18.09.2014 14:47)
- если сложность задачи не впихивается в big loop, то переключатель задач сильно повышает надёжность. - Mahagam(18.09.2014 14:05)
- Задач, где надо SIL3/4, на порядки меньше остальных. Соответственно и контор. А те, что есть, не факт, что применяют "рюшечки" в виде ОС и т.д. На железке такие применения: управление стрелками, управление тормозами. - amusin(18.09.2014 14:03)
- Я и высказал сожаление, что на сахаре нет людей, разрабатывающих сертифицированные по европейским стандартам критические системы безопасности. VVB(297 знак., 18.09.2014 13:39)
- Если уж обосновывать пользу этой штуки, то приводи пример из жизни. А "в теории" можно много чего напридумывать. Народ никак не может договориться как поступать с WDT, а тут наголову выше. - POV(18.09.2014 13:34)
- Как говаривал кпт. Очевидность: "концевик надо было поставить" и вне всяческого ПО :). - Chum_A(18.09.2014 14:15)
- Некоторые задачи, некоторые условия... с этого и нужно начинать. Включать или нет MPU - это уже где-то в конце списка мероприятий. - =AlexD=(18.09.2014 13:19)
- один отдельный вид ошибок становится диагностируемым. Вместо продолжения выполнения с необнаруженной ошибкой, имеем аварийный останов. В некоторых задачах такое развитие событий предпочтительнее (т.е. имеем мертвый прибор вместо глючащего). - lightelf(18.09.2014 12:55)
- Если не лень, номера ГОСТ-ов можете перечислить. Скажем ни в ГОСТ Р МЭК 61508-3-2007, ни в прил.С к ГОСТ Р МЭК 61508-7-2007 явного требования использования MPU нет (или я плохо читал?). - Chum_A(18.09.2014 14:10)
- Многое про классы безопасности ПО написано в ГОСТах на ПО в критических системах безопасности. VVB(682 знак., 18.09.2014 11:26)
- При этом можно добавить, что внесение дополнительных механизмов само по себе надёжности не прибавляет.. есть больше мест для косяков. - POV(18.09.2014 11:01)
- Самый простой реальный пример VVB(642 знак., 18.09.2014 11:07)
- Давай начнём с того, что изоляция адресных пространств понадобилась большим машинам для того, что-бы криворукие юзеры не гадили друг-другу и ОСьке, намеренно, или случайно кривыми руками и косыми программами. =AlexD=(815 знак., 18.09.2014 10:59)
- MPU лишь один из многих механизмов, повышающих надёжность ПО, в дополнение к базовому тестированию модулей и функциональному тестированию. VVB(701 знак., 18.09.2014 08:51)
- Надёжность увеличивается за счёт тестирования и ловли исключений, а в работе много вопросов - в частности сможет ли система корректно и безопасно для внешнего механизма завершить работу или перезапуститься. Контроль адресного пространства здесь не =AlexD=(9 знак., 18.09.2014 07:53)
- Например, FreeRTOS поддерживает stdlib "out of box" (при использовании newlib), смотри макрос configUSE_NEWLIB_REENTRANT VVB(669 знак., 18.09.2014 06:51)