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

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

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

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

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

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

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

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

Сообщение от omercury Посмотреть сообщение
Этот параметр ещё на 43 станице проконтролирован
Осталось понять относительно чего его контроллировать. Придется ввести второй такт и считать что оба одновременно они не сбрендят. Но ведь могут. Появляется третий такт и мажоритарный выбор. Это и есть расти как снежный ком.
Можно так до маразма дойти. Если WDT исправен при старте, где гарантия что он работает спустя минуту? Нету. И...
Реклама:

Последний раз редактировалось kison; 12.02.2011 в 19:19.
kison вне форума  
Непрочитано 12.02.2011, 19:17  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Осталось понять относительно чего его контроллировать.
Тактовая частота относительно частоты WDT(аппаратного, со своим генератором). Согласитесь, вероятность "сбрендивания" сразу двух генераторов заметно ниже, чем одного.

Недостаточно точно выразился - WDT внешний.

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

Сообщение от kison Посмотреть сообщение
Если бы. В этом МЭК открытым текстом:
Не рекомендуется использовать:
...
-параметры процедур.
Прочитать это как нибудь иначе сложно.
"Не читайте за обедом советских газет." (c)
В оригинале стандарта (откуда наши передрали МЭК) этот пункт называется "procedural parameters", а это уже вполне определенный термин.

Цитата:
На самом деле смысл отказа от параметров есть, именно в аспекте безопасности. Параметр передается или в регистрах или на стеке. В обоих случаях они могут быть испорчены. Передача параметров через глобальные переменные куда надежнее.
А глобальные переменные находятся в другом месте? Не в той же памяти, через которую передаются параметры?

С ошибками при передаче параметров борются другим способом: в теле самой функции проверяют область допустимых значений и область применения.

Цитата:
Тогда и с Паскалем так же? Выходит Дельфи прямо эталон безопасности, в нем ведь столько надстроек...
За Дельфи не скажу, не сталкивался. Если понадобится, надо к IEC1991 обратиться.

Цитата:
Если меня прижмет до соответствия этому МЭК - буду учить ADA. Вариантов то мало. Или ADA или Paskal.
А Си+Мисра не нравится? Сложно, конечно, но можно. (Я думаю, если прижмет когда-то делать по этому МЭК, то у Вас вариантов не будет: все уже будет выбрано за Вас).

Цитата:
Например контроль частоты возникновения прерываний, а за опору взят такт контроллера. Дальше неплохо контроллировать и сам этот такт, а то не дай бог частота будет другой. И поехало расти как снежный ком.
Да, сам такт тоже контролируется. Про оконные сторожевые таймеры знаете? (Плюс к этому Fail Safe Clock Monitor) Иногда рекомендуют для опорной частоты использовать сетевую (50/60 гц)

Цитата:
Что то еще противоречия есть. Если следовать МЭК буквально, то его требования приводят к нехилым усложнениям. Например требование иметь одну точку выхода из функции. Блок SWITCH совместно с return уже не катит, нужно завести переменную, записывать в нее значение и после выхода делать return result;
Иногда это приведет к очень неслабому нагромождение if/else/switch и прочим условиям. Либо.. использовать goto, что и запрещено и вообще говностиль почти всегда.
А в чем противоречие? Да, все усложняется, но не более того.

Кстати, основной документ, касающийся программного, обеспечения - это третья часть стандарта (61508-3), а седьмая - это приложения и пояснения. Заодно, если интересно, можете заглянуть в МЭК 60730, приложение H.
testerplus вне форума  
Непрочитано 12.02.2011, 19:21  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Вообще это лучше в отдельную тему вынести.
Щас dosikus'а попрошу.
testerplus вне форума  
Непрочитано 12.02.2011, 19:24  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Пентагон вот считает, что надежные программы могут писаться на любом языке, если он конечно называется ADA. И создавали его именно для этого.
Я слышал, что пентагон уже допускает использование С++.
SasaVitebsk вне форума  
Непрочитано 12.02.2011, 19:28  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от testerplus Посмотреть сообщение
В оригинале стандарта (откуда наши передрали МЭК)
Дело в том, что мне плевать на оригинал. Вы никогда не сдавали что нибудь ПЗ? Там соответствие вплоть до букв. И если МЭК не изменят - параметры вне закона. Любые.

Сообщение от testerplus Посмотреть сообщение
А глобальные переменные находятся в другом месте? Не в той же памяти, через которую передаются параметры?
Это отдельная секция. Случайный доступ туда маловероятен, а вот испортить что на стеке милое дело.


Сообщение от testerplus Посмотреть сообщение
С ошибками при передаче параметров борются другим способом: в теле самой функции проверяют область допустимых значений и область применения.
Это не поможет. Можно подпортить в допустимых пределах, но в данной ситуации это приведет к катастрофе.
Сообщение от testerplus Посмотреть сообщение
А Си+Мисра не нравится? Сложно, конечно, но можно.
Не нравится. Если там нет указателей, то Си мне не мил

Сообщение от testerplus Посмотреть сообщение
А в чем противоречие? Да, все усложняется, но не более того.
Как в чем? Там есть требование не усложнять исходный текст - программа должна быть читаемой. Несколько выходов из процедуры не добавят красоты однозначно.
Это почему? Я 7 лет системами защиты занимался Только там были несколько другие стандарты. Некоторые мне даже не давали - допуска не хватало.

Сообщение от testerplus Посмотреть сообщение
то у Вас вариантов не будет: все уже будет выбрано за Вас
kison вне форума  
Непрочитано 12.02.2011, 19:49  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Если WDT исправен при старте, где гарантия что он работает спустя минуту? Нету. И...
Используются очень вежливые WDT. Они на пожелание "спокойного сна" всегда отвечают "спасибо"...
omercury вне форума  
Непрочитано 12.02.2011, 20:10  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Дело в том, что мне плевать на оригинал. Вы никогда не сдавали что нибудь ПЗ? Там соответствие вплоть до букв. И если МЭК не изменят - параметры вне закона. Любые.
Да, насчет букв Вы правы. И они приведены в C.2.5
"Ниже перечислены некоторые из рекомендаций по защите:
- проверка диапазона значений переменных;
- проверка значений переменных на их достоверность (если возможно);
- проверка типа, размерности и диапазона значений параметров процедур на входе процедур.
"
Не хотелось бы пускаться в демагогию, но на мой взгляд, с точки зрения русского языка, если бы речь шла о том, о чем Вы говорите, то должно было быть записано так: "параметры процедур" (без Ы на конце).

Цитата:
Это отдельная секция. Случайный доступ туда маловероятен, а вот испортить что на стеке милое дело.
разработчики языка позаботились о нас и увеличили эту вероятность с помощью указателей.

Цитата:
Это не поможет. Можно подпортить в допустимых пределах, но в данной ситуации это приведет к катастрофе.
Возможно и такое. Но глобальные переменные - это как раз то, что делает код сложнее.

Цитата:
Не нравится. Если там нет указателей, то Си мне не мил
Есть они там не переживайте. Раздел 6.11 мисра описывает правила работы с указателями.

Цитата:
Как в чем? Там есть требование не усложнять исходный текст - программа должна быть читаемой. Несколько выходов из процедуры не добавят красоты однозначно. Это почему?
Потому что при исследовании листинга программы, вы один из выходов можете не заметить. Это первое. Второе: функция может на время выполнения захватить какой-нибудь ресурс контроллера, перед выходом она должна его отдать. Делать это сторого рекомендуется в одном месте, а не разбрасывать по телу всей функции. Так что с лишним ретурном код становится намного сложнее (и для чтения и для отладки).

Наверное, Вам знакомы фамилии Е.Дейкстра, Н.Вирт, С.Макконнел, А.Голуб, П.Гудлиф, Д.Ван Тассел. Все они говорят о единственной точке выхода из функции.
testerplus вне форума  
Сказали "Спасибо" testerplus
pinco (13.02.2011)
Непрочитано 12.02.2011, 21:02  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от Gnider Посмотреть сообщение
Кроме того у любого компаратора есть гистерезис,смещение и тд. Все это описано в мануале.
Как Вам картинка? Это из фирменного описания PIC16F628. Нет там никакого гистерезиса (и быть не может, это же компаратор, а не триггер Шмитта). Гистерезис может быть только в пределах напряжения смещения, а оно меньше 10мВ (параметр D300) (у Атмеля, кстати, того же порядка). А RC цепочка - ну задавите Вы шум входного сигнала, а шум внутренней опоры останется.

Да и фиг с ним, с этим компаратором, он - не единственная причина, способная вызвать зависание в обработчике прерываний. Но ни сам камень, ни средства разработки не имеют возможности ее устранить на этапе проектирования. Только программным способом.

В личку загляните.
Миниатюры:
Нажмите на изображение для увеличения
Название: 2011-02-12_195202.png
Просмотров: 37
Размер:	6.2 Кб
ID:	18260  

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

Сообщение от testerplus Посмотреть сообщение
Не хотелось бы пускаться в демагогию, но на мой взгляд, с точки зрения русского языка, если бы речь шла о том, о чем Вы говорите, то должно было быть записано так: "параметры процедур"
Здорово! Запрещено значит для одной, но какой не указано Но, то что это не запрет использования указателя на функцию в качестве параметра это точно. Запрет указателей выше по тексту, так что их и так нет. Зачем запрещать что то дважды?

Сообщение от testerplus Посмотреть сообщение
разработчики языка позаботились о нас и увеличили эту вероятность с помощью указателей.
Ну мы же следуем этому МЭК. У нас уже нет указателей. Вообще полумеры бесполезны, надо или все принимать или вообще забить на этот документ. Так что действительно передача параметров через глобальные переменные + запрет указателей повышают надежность. С этим трудно спорить.

Сообщение от testerplus Посмотреть сообщение
Есть они там не переживайте. Раздел 6.11 мисра описывает правила работы с указателями.
Значит мисра эта ни фига не безопасна. И не соответствует нашим гостам.

Сообщение от testerplus Посмотреть сообщение
Наверное, Вам знакомы фамилии Е.Дейкстра, Н.Вирт, С.Макконнел, А.Голуб, П.Гудлиф, Д.Ван Тассел. Все они говорят о единственной точке выхода из функции.
Все эти люди не пробовали создавать системы в условиях хронической нехватки ресурсов. Как быстродействия, так и памяти. Иногда нужны три массива по 500 байт, ОЗУ всего 1К и крутись как хочешь. Это не о ретурн, а о динамической памяти и указателях. Кроме того есть и другие люди типа Ричи с Страуструпом - они говорят множественный ретурн вполне допустим. Он упрощает понимание программы и иногда в разы увеличивает быстродействие. И вообще Голуб это клоун какой то. Хотя кроме одной дурацкой книжки я ничего не читал.
kison вне форума  
 

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

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

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

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


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


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