реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Что почитать по шаблонам программирования для микроконтроллеров?
zredo
сообщение Jan 16 2010, 23:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



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

А теперь вопрос: есть ли подобная книга в отношении программирования для микроконтроллеров? Например , сборник шаблонов об измниерении промежутков времени на мк, ввод-вывод. ,многозадачность.
Про управление задачами и памятью можно читать Э.Таненбаума "Современные операционные системы" но хотелось бы с учетом ОСРВ и под мк.
Хотелось бы услышать ваше мнение по этому вопросу.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 17 2010, 00:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zredo @ Jan 17 2010, 02:51) *
А теперь вопрос: есть ли подобная книга в отношении программирования для микроконтроллеров?

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jan 17 2010, 05:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



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

А в целом - перспективные подходы к программированию перспективны и на МК
Go to the top of the page
 
+Quote Post
zredo
сообщение Jan 17 2010, 09:08
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



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

И есть ли книга, в которой это более-менее обстоятельно расписано?
Конечно можно и самому их решить, но хочется знать как другие их решали и не изобретать велосипед. т.е. есть ли обобщенный опыт.?
Есть в программировани для больших ПК признаные авторы, а есть ли такие для микроконтролллеров?
хотя, zltiqo, прав, программирвоание оно и в африке программирование smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 17 2010, 09:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zredo @ Jan 17 2010, 12:08) *
....книга...

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jan 17 2010, 09:38
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(zredo @ Jan 17 2010, 12:08) *
И есть ли книга, в которой это более-менее обстоятельно расписано?
Конечно можно и самому их решить, но хочется знать как другие их решали и не изобретать велосипед. т.е. есть ли обобщенный опыт.?


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

Сообщение отредактировал rezident - Jan 17 2010, 20:20
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post
zredo
сообщение Jan 17 2010, 11:39
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



спасибо за ответы, так и делаю
Go to the top of the page
 
+Quote Post
ig_z
сообщение Jan 17 2010, 12:50
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Неделю назад была попытка обсудить подобную тему.
http://electronix.ru/forum/index.php?showtopic=71401
Все же паттерны - это средство высокоуровневого проектирования. Т.е. для начала в проекте такая необходимость должна присутствовать изначально, как минимум. Определенная часть паттернов из упомянутой книги вполне может быть применена и при проектировании встроенных систем. К примеру, если ваш проект должен поддерживать различные аппаратные платформы ( или к примеру симуляцию на вин/лин ), для разделения зависимых частей может быть использован паттерн мост. Ваши коллеги, понимающие паттерны, смогут легко распознать и повторно использовать независимую часть кода и добавлять новые платформенно (целе и вообще любые *зависимые) части кода как в текущий проект, так и в другие.
И разумеется, для применения паттернов необходима определенная мотивация. Отсутствие оной(к примеру зп платят за кол-во строк в проекте или 30-летний опыт проектирования подсказывает, что это ерунда :o) не значит, что "шеф, все пропало", девелопер сделает то же самое по другому.

=======================================================
Страдающим повышенной возбудимостью, аллюзиями и т.п.ч. сообщаю, что вышеизложенное есть мое личное мнение, базирующееся на личном опыте. Ни в коем случае не претендую на истину в последней инстанции.
Go to the top of the page
 
+Quote Post
zredo
сообщение Jan 17 2010, 12:52
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



нашел близкое к моему вопросу:
http://www.eventhelix.com/RealtimeMantra/Patterns/


to zltiqo: соглсен, нужно самому думать, но часто разработчики( да и не только они) занимаются изобретением велосипедов.
Я пришел к такой идее: думать самому, но обязательно смотреть по сторонам, смотреть как другие решают похожие задачи.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Jan 18 2010, 00:25
Сообщение #10


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ИМХО, для оглашенных задач шаблоны не только не нужны, но и избыточны практически во всех отношениях.
Оверхед(как по времени CPU, так и по загрузке мозга программиста) от их использования для таких задач может быть сравним с самой задачей.
Вопрс: зачем ноутбуком забивать гвозди, когда есть молоток? wink.gif


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 18 2010, 05:05
Сообщение #11


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(sigmaN @ Jan 18 2010, 06:25) *
ИМХО, для оглашенных задач шаблоны не только не нужны, но и избыточны практически во всех отношениях.
Оверхед(как по времени CPU, так и по загрузке мозга программиста) от их использования для таких задач может быть сравним с самой задачей.
Вопрс: зачем ноутбуком забивать гвозди, когда есть молоток? wink.gif

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

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
zredo
сообщение Jan 19 2010, 20:17
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



dxp уловил суть вопроса...

Сообщение отредактировал rezident - Mar 29 2010, 00:32
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 19 2010, 21:40
Сообщение #13


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(zredo @ Jan 17 2010, 01:51) *
В объектно-ориентированном подходе к программированию выделены шабоны проектирования и программирования - это типовые схемы решения часто встречающиющихся задач.
почитать можно в книге Э.Гамма, Р.Хелм, Р.Джонсон, Дж.Влиссидес "Пирмемы объектно-ориентированного поектирования. паттерны проектирования" изд-во Питер.

Сами то книжку читали? Издана в 2001 году. За такое время целые поколенния микроконтроллеров ставят и снимают с производства.
Чем автор книжки занят поняли?
Он узко заточенный профессионал.
Это как если б эмбеддер делающий только частотомеры написал о патернах разработки для всех встраиваемых систем.

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

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

Сообщение отредактировал rezident - Mar 29 2010, 00:33
Причина редактирования: Нарушение цитирования.
Go to the top of the page
 
+Quote Post
zredo
сообщение Jan 24 2010, 15:46
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 29-08-05
Пользователь №: 8 041



вот нашел.. может кому пригодится
book of Michael J Pont "Patterns for Time-Triggered Embedded Systems"
скачать можно тут:
http://www.tte-systems.com/books/pttes
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 24 2010, 17:06
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Офигеть, 1000 страниц только про одни I51-е.
А вы книжки те что предлагаете сами то читаете?

Цитата(zredo @ Jan 24 2010, 17:46) *
вот нашел.. может кому пригодится
book of Michael J Pont "Patterns for Time-Triggered Embedded Systems"


Она была издана в 2001 как раз на закате 51-х.
И кооперативные операционки того типа доживали последние дни.
Теперь ее смело можно фтопку.
Большая часть книги не актуальна даже для студентов.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 01:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016