Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 12.02.2011, 21:24  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от testerplus Посмотреть сообщение
Но ни сам камень, ни средства разработки не имеют возможности ее устранить на этапе проектирования. Только программным способом.
Что это за проблема? И почему это вообще проблема? У меня зависнуть в обработчиках невозможно в принципе - там обычно взвод флажка и выход. И ничего не проверяется. Ну не совсем так конечно, но код линеен и и ожиданий нет.
Реклама:
kison вне форума  
Непрочитано 12.02.2011, 21:27  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Что это за проблема? И почему это вообще проблема? У меня зависнуть в обработчиках невозможно в принципе - там обычно взвод флажка и выход. И ничего не проверяется. Ну не совсем так конечно, но код линеен и и ожиданий нет.
Читайте мой пост внимательнее: речь о "причине" ("ее" - "причину"), а не о проблеме.
testerplus вне форума  
Непрочитано 12.02.2011, 21:29  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от testerplus Посмотреть сообщение
Второе: функция может на время выполнения захватить какой-нибудь ресурс контроллера, перед выходом она должна его отдать. Делать это сторого рекомендуется в одном месте, а не разбрасывать по телу всей функции.
Я себе завел правило - один ресурс - одна функция. Ресурс нельзя захватить, можно попросить у драйвера этого ресурса что то сделать. Например добавить сообщение в очередь. Он его сам передаст. И сам себе отдать не забудет
Нда, но вот если отказаться от указателей, то мой подход рассыплется. Хорошо что ГОСТ не обязателен.

Последний раз редактировалось kison; 12.02.2011 в 21:37.
kison вне форума  
Непрочитано 12.02.2011, 21:43  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

http://www.kck.ua/files/products/12/51/109.pdf
На русском о этом МЭК
kison вне форума  
Сказали "Спасибо" kison
testerplus (12.02.2011)
Непрочитано 12.02.2011, 21:45  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Здорово! Запрещено значит для одной, но какой не указано Но, то что это не запрет использования указателя на функцию в качестве параметра это точно.
Ладно, оставим интрепретацию в русскоязычном варианте юристам. Лично мне смысл понятен. В России дел с этим документом не имел (как Вы 7 лет занимаетесь безопасностью, сталкивались с тем, что к некоторым стандартам Вас не подпускали, а этот документ прошел мимо?)

Цитата:
Ну мы же следуем этому МЭК. У нас уже нет указателей. Вообще полумеры бесполезны, надо или все принимать или вообще забить на этот документ. Так что действительно передача параметров через глобальные переменные + запрет указателей повышают надежность. С этим трудно спорить.
Кстати, в документе оставлена лазейка: в третьей части в приложении B строго рекомендуется "Ограниченное использование указателей" и то же самое о рекурсии (в английском варианте "limited use of pointers"), а вот про goto - однозначно нельзя.

Цитата:
Все эти люди не пробовали создавать системы в условиях хронической нехватки ресурсов. Как быстродействия, так и памяти. Иногда нужны три массива по 500 байт, ОЗУ всего 1К и крутись как хочешь. Это не о ретурн, а о динамической памяти и указателях.
"Безопасность" и "1.5К в 1К" - понятия несовместимые.

Цитата:
Кроме того есть и другие люди типа Ричи с Страуструпом - они говорят множественный ретурн вполне допустим.
Так они же разработчики языка. А Кернигана почему не вспомнили? Он был против Ладно, не будем про гоуту, а то из одного религиозного спора (про авры) сейчас в другой вольемся.

Последний раз редактировалось testerplus; 12.02.2011 в 21:51.
testerplus вне форума  
Непрочитано 12.02.2011, 21:46  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Я себе завел правило - один ресурс - одна функция.
Очень правильное правило.
testerplus вне форума  
Непрочитано 12.02.2011, 21:58  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
У меня зависнуть в обработчиках невозможно в принципе - там обычно взвод флажка и выход. И ничего не проверяется. Ну не совсем так конечно, но код линеен и и ожиданий нет.
Ну. опять двадцать пять! Начнет источник прерываний выставлять флажок раз в 1 мкс, и повиснете Вы в своем линейном обработчике.
testerplus вне форума  
Непрочитано 12.02.2011, 22:13  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от testerplus Посмотреть сообщение
Ну. опять двадцать пять! Начнет источник прерываний выставлять флажок раз в 1 мкс, и повиснете Вы в своем линейном обработчике.
А вот это уже задача схемотехника а не программиста - сделать так, чтобы источник прерываний не прыгал раз в 1 мкс. И соответственно морду бить ему
niXto вне форума  
Непрочитано 12.02.2011, 22:18  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от testerplus Посмотреть сообщение
как Вы 7 лет занимаетесь безопасностью, сталкивались с тем, что к некоторым стандартам Вас не подпускали, а этот документ прошел мимо?
Там не было программируемых вещей. Вообще. Мы только стенды делали с контроллерами, а на это смотрели сквозь пальцы. Вначале хотели и в изделия, но гайки закрутили и импортная комплектация была запрещена. А российской не было. Сейчас вот Миландр есть, вроде у него контроллеры с 5п не только на бумаге. Но мне уже и на ширпотребе хорошо Кстати самая дорогая и самая надежная пожарная автоматика для военных пароходов была чисто аналоговой, без программирования. Вот там ошибка в программе бы дорого обошлась - ставилась она туда где ракеты/снаряды хранятся и при срабатывании закрывала двери и накачивала что то типа СО. Если в помещении есть люди, то им каюк.

Сообщение от testerplus Посмотреть сообщение
Кстати, в документе оставлена лазейка: в третьей части в приложении B строго рекомендуется "Ограниченное использование указателей" и то же самое о рекурсии (в английском варианте "limited use of pointers"), а вот про goto - однозначно нельзя.
Странный это документ. Сам по себе goto не опасен. И есть случай, когда его применение красиво. Я правда только один знаю. А вот рекурсия - реальное зло. Куда хуже goto. Указатели же это радость программиста Хотя и во вред надежности.

Сообщение от testerplus Посмотреть сообщение
А Кернигана почему не вспомнили? Он был против
Да? Я не знал. Большинство начинающих думают что Керниган - автор Си Он же первым автором идет K&R

Сообщение от testerplus Посмотреть сообщение
Ладно, не будем про гоуту, а то из одного религиозного спора (про авры) сейчас в другой вольемся.
Нет-нет, Вы свою позицию обозначьте. GOTO - зло, не всегда зло, обычный прием или самый главный оператор. Мой выбор - два.
kison вне форума  
Непрочитано 12.02.2011, 22:21  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от niXto Посмотреть сообщение
А вот это уже задача схемотехника а не программиста - сделать так, чтобы источник прерываний не прыгал раз в 1 мкс. И соответственно морду бить ему
Нет, это может быть внешний сигнал. От другого девайса, который другие люди делают. Можно искать стрелочника конечно, но это долго и неэффективно. Можно забить на этот и отрабатывать остальные, лично я бы так сделал. Если это основной сигнал - то ой
kison вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot