Jump to content

    
Sign in to follow this  
zredo

Что почитать по шаблонам программирования для микроконтроллеров?

Recommended Posts

В объектно-ориентированном подходе к программированию выделены шабоны проектирования и программирования - это типовые схемы решения часто встречающиющихся задач.

почитать можно в книге Э.Гамма, Р.Хелм, Р.Джонсон, Дж.Влиссидес "Пирмемы объектно-ориентированного поектирования. паттерны проектирования" изд-во Питер. отзывы можно прочесть тут http://www.ozon.ru/context/detail/id/24573...type=4#comments

 

А теперь вопрос: есть ли подобная книга в отношении программирования для микроконтроллеров? Например , сборник шаблонов об измниерении промежутков времени на мк, ввод-вывод. ,многозадачность.

Про управление задачами и памятью можно читать Э.Таненбаума "Современные операционные системы" но хотелось бы с учетом ОСРВ и под мк.

Хотелось бы услышать ваше мнение по этому вопросу.

Share this post


Link to post
Share on other sites
А теперь вопрос: есть ли подобная книга в отношении программирования для микроконтроллеров?

А теперь информация: Мой первый персональный компьютер IBM PC был с восьмибитовой памятью и работал на тактовой частоте 4,7MHz. Как это соотносится с нынешними микроконтроллераими? Специальные "чернила для 6 класса" не нужны. Просто учитесь программировать, а с шаблонным мышлением еще и бороться придется.

Share this post


Link to post
Share on other sites

Подобной книги (ориентированной именно на МК) я не встречал, но почему бы просто не перенести эти знания (паттерны, STL) на встраиваемые приложения?

Естественно, ресурсы МК пока отстают от ресурсов ПК, поэтому требуется достаточно глубокое знание шаблонных библиотек, чтоб потом не сесть в лужу (например, налететь на перемассштабирования вектора в процессе работы программы)

 

А в целом - перспективные подходы к программированию перспективны и на МК

Share this post


Link to post
Share on other sites

при программировании мк есть часто встречающиеся задачи, например нужно измерить время между двумя событиями, или нужно обрабатывать нажатия кнопок клавиатуры и вывод на жк дисплей, или генерировать сигналы различной формы. И интересует информация по решению таких задач. Та же самая схема сброса может быть выполнена на RC цепочкой, а можно использовать микросхему сбороса. первый вариант прост и дешевле, а второй надежнее. И в критческих приложениях лучше использовать второй вариант. Такие тонкости постигаются на практике.

 

И есть ли книга, в которой это более-менее обстоятельно расписано?

Конечно можно и самому их решить, но хочется знать как другие их решали и не изобретать велосипед. т.е. есть ли обобщенный опыт.?

Есть в программировани для больших ПК признаные авторы, а есть ли такие для микроконтролллеров?

хотя, zltiqo, прав, программирвоание оно и в африке программирование :)

Share this post


Link to post
Share on other sites
....книга...

Банальные вещи в программировании, равно, как произношение слова 'мама' и ковыряние в носу, надо осваивать не по книгам.

Ну а если Ваша мечта стать кодером, то Вам в помощь всякие мутные визарды и фраза "где найти "библиотеку"".... - в них кто-то, как-то, что-то сделает за Вас. Выбирайте - либо Вы будете думать сами, либо нет.

Share this post


Link to post
Share on other sites
И есть ли книга, в которой это более-менее обстоятельно расписано?

Конечно можно и самому их решить, но хочется знать как другие их решали и не изобретать велосипед. т.е. есть ли обобщенный опыт.?

 

Читайте Application Notes для данного семейства МК, читайте общую документацию по программированию / схемотехнике. Читайте специализированные форумы - очень много тонких мест и интересных решений обсуждаются.

В общем, единого пути нет - каждый выбирает его сам, исходя из возможностей, требований и желаемого результата

Edited by rezident
Нарушение п.3.4 Правил форума.

Share this post


Link to post
Share on other sites

Неделю назад была попытка обсудить подобную тему.

http://electronix.ru/forum/index.php?showtopic=71401

Все же паттерны - это средство высокоуровневого проектирования. Т.е. для начала в проекте такая необходимость должна присутствовать изначально, как минимум. Определенная часть паттернов из упомянутой книги вполне может быть применена и при проектировании встроенных систем. К примеру, если ваш проект должен поддерживать различные аппаратные платформы ( или к примеру симуляцию на вин/лин ), для разделения зависимых частей может быть использован паттерн мост. Ваши коллеги, понимающие паттерны, смогут легко распознать и повторно использовать независимую часть кода и добавлять новые платформенно (целе и вообще любые *зависимые) части кода как в текущий проект, так и в другие.

И разумеется, для применения паттернов необходима определенная мотивация. Отсутствие оной(к примеру зп платят за кол-во строк в проекте или 30-летний опыт проектирования подсказывает, что это ерунда :o) не значит, что "шеф, все пропало", девелопер сделает то же самое по другому.

 

=======================================================

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

Share this post


Link to post
Share on other sites

нашел близкое к моему вопросу:

http://www.eventhelix.com/RealtimeMantra/Patterns/

 

 

to zltiqo: соглсен, нужно самому думать, но часто разработчики( да и не только они) занимаются изобретением велосипедов.

Я пришел к такой идее: думать самому, но обязательно смотреть по сторонам, смотреть как другие решают похожие задачи.

Share this post


Link to post
Share on other sites

ИМХО, для оглашенных задач шаблоны не только не нужны, но и избыточны практически во всех отношениях.

Оверхед(как по времени CPU, так и по загрузке мозга программиста) от их использования для таких задач может быть сравним с самой задачей.

Вопрс: зачем ноутбуком забивать гвозди, когда есть молоток? ;)

Share this post


Link to post
Share on other sites
ИМХО, для оглашенных задач шаблоны не только не нужны, но и избыточны практически во всех отношениях.

Оверхед(как по времени CPU, так и по загрузке мозга программиста) от их использования для таких задач может быть сравним с самой задачей.

Вопрс: зачем ноутбуком забивать гвозди, когда есть молоток? ;)

В теме, имхо, присутствует путаница. Автор, видимо, имеет в виду паттерны проектирования, если иметь в виду его ссылку на книгу по этим вещам. А термин шаблоны программирования используется тут некорректно. Шаблоны программирования есть в некоторых ЯП - например, в С++, но речь, видимо, не о них.

 

Что касается оверхеда, то все зависит от задачи. При правильном использовании всего этого хозяйства оверхеда либо нет, либо он приемлемо мал. Это касается и шаблонов того же С++, и паттернов проектирования. Например, если нужен по смыслу паттерн Singletion, то никуда от этого не уйти. И получается достаточно красиво. И оверхеда там нет по сравнению с реализацией этого иными способами (все они так или иначе похожи). Паттерны проектирования - это не какие-то языковые средства, а приемы реализации тех или иных типовых задач. Т.е. это по уровню абстракции стоит выше средств ЯП.

Share this post


Link to post
Share on other sites
В объектно-ориентированном подходе к программированию выделены шабоны проектирования и программирования - это типовые схемы решения часто встречающиющихся задач.

почитать можно в книге Э.Гамма, Р.Хелм, Р.Джонсон, Дж.Влиссидес "Пирмемы объектно-ориентированного поектирования. паттерны проектирования" изд-во Питер.

Сами то книжку читали? Издана в 2001 году. За такое время целые поколенния микроконтроллеров ставят и снимают с производства.

Чем автор книжки занят поняли?

Он узко заточенный профессионал.

Это как если б эмбеддер делающий только частотомеры написал о патернах разработки для всех встраиваемых систем.

 

Применяя маленько ООП могу сказать, что патерны предлагаемые в той книге мне частично выглядят очевидными, частично содранными из асинхронных систем с RTOS и частично надуманными либо отражающими исключительно психику восприятия мира самим автором.

 

А второе, что методы программирования очень консервативны и про них можно написать книгу которая не устареет пока ее издадут.

В архитектуре современных встраиваемых системах все меняется гораздо быстрее.

Так что работать приходиться без патернов, так быстрее получается :biggrin:

Edited by rezident
Нарушение цитирования.

Share this post


Link to post
Share on other sites

Офигеть, 1000 страниц только про одни I51-е.

А вы книжки те что предлагаете сами то читаете?

 

вот нашел.. может кому пригодится

book of Michael J Pont "Patterns for Time-Triggered Embedded Systems"

 

Она была издана в 2001 как раз на закате 51-х.

И кооперативные операционки того типа доживали последние дни.

Теперь ее смело можно фтопку.

Большая часть книги не актуальна даже для студентов.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this