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

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

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

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

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

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

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

 
Опции темы
Непрочитано 12.02.2011, 17:18  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от testerplus Посмотреть сообщение
Так Вы же написали: "Все проблемы с прерываниями надуманны. Берется нормальный современный камень с вложенным контроллером прерываний."? Я и возразил, что сам камень ни при чем.

Не подскажите, где именно? Готовлю материал по этой теме и отметил, что с источниками по ней очень туго.

По моей практике гнать надо почти всех
Камень как раз причем. Использование ЯВУ,внутрисхемного отладчика,дма и прочего позволяет упростить процесс программирования. Программист может сосредоточиться на задаче,на ее оптимизации и проверке,в место того чтобы тратить время на приведение в чувство схемы. А это возможно когда есть запас мощности и возможностей камня.

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

Сообщение от testerplus Посмотреть сообщение
Язык Си с раширениями и стандартами (которые есть) строго рекомендуется ("HR" - highly recommended) на всех уровнях. (К слову, использование голого Си допустимо только при самых низких требованиях).
Посмотрел этот МЭК. Очень забавный документ. Там походу рулит Паскаль.
В Си слишком многое недопустимо. Точнее не рекомендуется, но такие заявления в ГОСТ это тот же запрет. Например указатели. Без них от Си один огрызок останется. Убрать указатели и язык превращается в бейсик какой то.
Кому интересно и лень гуглить - http://www.gosthelp.ru/gost/gost47517.html
Я вообще не понял больше половины. К примеру желательно исключить ( я выборочно только):
-Указатели, динамическую память, динамические объекты
-Параметры процедуры.
Второе меня вообще в ступор вводит. Выходит передача параметров возможна только через статические/глобальные переменные. Там еще goto запрещен. Он не особо полезен кроме одного случая - выскочить из вложенного в другой цикла. Но так выходит тоже нельзя. Про запрет обработчиков прерывания на асме вообще молчу, хотя они сами по себе вполне безопасны.
ИМХО ни Си ни плюсы к безопасным языкам не относятся. Даже если навешать на них кучу ограничений. Впрочем что останется от Си, если не пользовать указатели, динамическую память и блин - ПАРАМЕТРЫ функций. Огрызки какие то.
Для безопасности лучше взять Паскаль, он строг и лаконичен. Хотя параметры функциям/процедурам там тоже есть. Пентагон вот считает, что надежные программы могут писаться на любом языке, если он конечно называется ADA. И создавали его именно для этого.
Интересно, что С++ в таблице рекомендованных языков нет вообще.
Так что - ADA,MODULA-2,Paskal и Fortran-77 наше все. А как известно настоящие программисты пишут только на Фортране

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

Сообщение от Gnider Посмотреть сообщение
Камень как раз причем. Использование ЯВУ,внутрисхемного отладчика,дма и прочего позволяет упростить процесс программирования.
Вы не поняли. Речь не об упрощении процесса и не о том, на чем надо сосредотачиваться программисту. Если напряжение на входе компаратора станет равным Vref, то прерывания (из-за небольшого шума, который всегда будет присутствовать) могут генериться так часто, что программа наглухо повиснет в обработчике. И никакие ЯВУ, камни, отладчики и пр. здесь ни при чем.
Цитата:
Насчет методик по написанию надежных программ - надо смотреть appnote от производителя. В сумме материала много.
Это шутка? Там эта тема даже близко не затрагивается (за исключением AVR998 (посмотрите, кстати п.3.1) и подобных, которые действительно этому посвящены; в частности AVR998 - стандарту IEC 60730).

Дайте, пожалуйста, ссылку на такой аппноут (от любой фирмы, не обязательно атмель). Возможно, я пропустил что-то.

Литературу найти можно (в основном в виде статей) только на английском, на русском вообще ничего не встречал (кроме редких разговоров на форумах).

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

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

Цитата:
В Си слишком многое недопустимо. Точнее не рекомендуется, но такие заявления в ГОСТ это тот же запрет. Например указатели. Без них от Си один огрызок останется. Убрать указатели и язык превращается в бейсик какой то.
Все не так плохо. Но рекомендация не с потолка взята. (Кстати MISRA тоже не рекомендует использовать динамическое выделение памяти, причем с пометкой "Required", т.е. просто запрещает)
Цитата:
-Указатели, динамическую память, динамические объекты
-Параметры процедуры.
Второе меня вообще в ступор вводит. Выходит передача параметров возможна только через статические/глобальные переменные.
Речь не об аргументах функции, а о передачи функции в качестве аргумента. Так что не волнуйтесь и не передергивайте

Цитата:
Пентагон вот считает, что надежные программы могут писаться на любом языке, если он конечно называется ADA. И создавали его именно для этого.
Да, АДА намного более формализованный язык. Много за него не скажу, т.к. имел дело с ним всего один раз (переводил как-то библиотеку от Heneywell'а), но скажу, что вольностей, как в Си, он не позволяет. там все намного строже и однозначнее.

Цитата:
Интересно, что С++ в таблице рекомендованных языков нет вообще.
Насчет плюсов точно не знаю, но, возможно, они подпадают под "Язык си с надстройками и стадратами кодирования". Так что со стандартом вроде Misra++, плюсы, скорее всего, также HR. (Тескта этого стандарта у меня нет, но он стоит всего 10евро, кому интересно - могут приобрести.)

Последний раз редактировалось testerplus; 12.02.2011 в 18:35.
testerplus вне форума  
Непрочитано 12.02.2011, 18:35  
Altele
Прописка
 
Регистрация: 12.02.2009
Сообщений: 204
Сказал спасибо: 2
Сказали Спасибо 25 раз(а) в 20 сообщении(ях)
Altele на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Интересно все же...Что же с Атмелом то будет..страниц 45 спорили...типа
Altele вне форума  
Непрочитано 12.02.2011, 18:39  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от testerplus Посмотреть сообщение
Вы не поняли. Речь не об упрощении процесса и не том, на чем надо сосредотачиваться программисту. Если напряжение на входе компаратора станет равным Vref, то прерывания (из-за небольшого шума, который всегда будет присутствовать) могут генериться так часть, что программа наглухо повиснет в обработчике. И никакие ЯВУ, камни, отладчики и пр. здесь ни при чем.
Есть проблемы аппаратные а есть программные. компаратор является аналоговым блоком и его работу надо решать аналоговыми методами,например RC-фильтром. Кроме того у любого компаратора есть гистерезис,смещение и тд. Все это описано в мануале.
Gnider вне форума  
Непрочитано 12.02.2011, 18:53  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от Ar-Gen-Tum Посмотреть сообщение
Ага, гидроусилители ваще чисто механика.
А мозги не содержат ни кварцевого резонатора ни PLL.
И не боятся нифига ядрёного взрыва, кстати, а электроника загинается от ЭМИ ))))
а ещё были разработки пневматических вычислительных машин... сродни гидравлическим

Сообщение от Gnider Посмотреть сообщение
С атмелом ничего не будет. Но и мы его не будем.....
Будем пока не кончатся закупленые запасы ))))

Сообщение от testerplus Посмотреть сообщение
8-битники производить только на заказ мегапартиями.
Скинемся и закажем Атмелю железнодорожный состав МЕГ8-х на всю Рассею ))) центов по 10-20 )))))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

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

Сообщение от Altele Посмотреть сообщение
Речь не об аргументах функции, а о передачи функции в качестве аргумента. Так что не волнуйтесь и не передергивайте
Если бы. В этом МЭК открытым текстом:
Не рекомендуется использовать:
...
-параметры процедур.
Прочитать это как нибудь иначе сложно. Это вовсе не процедуры как параметр процедур. Тем более что это не что иное как указатель, а он запрещен чуть выше.
На самом деле смысл отказа от параметров есть, именно в аспекте безопасности. Параметр передается или в регистрах или на стеке. В обоих случаях они могут быть испорчены. Передача параметров через глобальные переменные куда надежнее. Просто ограничения слишком сильны.


Сообщение от testerplus Посмотреть сообщение
Насчет плюсов точно не знаю, но, возможно, они подпадают под "Язык си с надстройками и стадратами кодирования".
Тогда и с Паскалем так же? Выходит Дельфи прямо эталон безопасности, в нем ведь столько надстроек... У плюсов в самом языке масса противоречий этому стандарту, типа неявного указателя на текущий объект. В Дельфах кстати ровно так же. Неявная переменная, да к тому же указатель.
Сообщение от testerplus Посмотреть сообщение
Да, АДА намного более формализованный язык. Много за него не скажу, т.к. имел дело с ним всего один раз (переводил как-то библиотеку от Heneywell'а), но скажу, что вольностей, как в Си, он не позволяет. там все намного строже и однозначнее.
Он Паскаль напоминает. Причем все еще круче. Я попробовал, когда его компилятор в GCC включили. Код просто ужос - большой и тормозной. Но надежность походу на высоком уровне. Если меня прижмет до соответствия этому МЭК - буду учить ADA. Вариантов то мало. Или ADA или Paskal. Фортран я давно забыл, что за модула даже не знаю, но компиляторов этих языков для встроенных применений не видел. А из первых двух ADA позабавней. Вообще это лучше в отдельную тему вынести. Иногда размышления о надежности просто выносят мозг. Например контроль частоты возникновения прерываний, а за опору взят такт контроллера. Дальше неплохо контроллировать и сам этот такт, а то не дай бог частота будет другой. И поехало расти как снежный ком.
kison вне форума  
Непрочитано 12.02.2011, 19:08  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Что то еще противоречия есть. Если следовать МЭК буквально, то его требования приводят к нехилым усложнениям. Например требование иметь одну точку выхода из функции. Блок SWITCH совместно с return уже не катит, нужно завести переменную, записывать в нее значение и после выхода делать return result;
Иногда это приведет к очень неслабому нагромождение if/else/switch и прочим условиям. Либо.. использовать goto, что и запрещено и вообще говностиль почти всегда.
kison вне форума  
Непрочитано 12.02.2011, 19:09  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Дальше неплохо контроллировать и сам этот такт, а то не дай бог частота будет другой. И поехало расти как снежный ком.
Этот параметр ещё на 43 станице проконтролирован, вместе с WDT. А уж он (внешний и аппаратный) проконтролирует тактовую...
omercury вне форума  
 

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

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

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

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


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


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