Шаблоны проектирования (Design patterns)
Самое сложное в программировании – не набивание кода, а создание архитектуры программы. Удачные кусочки архитектур можно позаимствовать у других и применить в своих программах, такие кусочки называются “шаблонами проектирования”.
offsetof(s, m)
Если порыться по стандартным заголовочным фалам ANSI-C компилятора, то в файле stddef.h можно найти макрос offsetof()
Макрос offsetof() имеет тру-эмбеддерское объявление
Самое интересное, что несмотря на полезность этого макроса, он очень редко используется. Я и сам не знал о его существовании до сегодняшнего дня.
(more…)Обзор линукса для встраиваемых систем
Только что натолкнулся на замечательный видушник от TI – обзор линукса для встраиваемых систем. В очень доступной форме объясняют что такое линукс, для чего он нужен, как загружается, какие сервисы предоставляет. Вообщем, очень полезно для общего развития.
Скачать можно тут:
Протопотоки (protothreads)
Protothreads – очень удобная библиотека, реализующая аналог кооперативной ОС с очень маленькими затратами ресурсов (2 байта на поток!). Особенно она актуальна для небольших контроллеров и, собственно снимает извечный вопрос – пользоваться ОС или нет.
Основные “фишки”
- Очень маленькие затраты – достаточно всего два байта на поток
- Библиотека написана на чистом C и C-препроцессоре без ассемблера и, поэтому, очень легко переносится
- Выпускается под BSD — лицензией
Сигналы квитирования (RTS, CTS итп) и RS232 вообще
У стандартного модемного интерфейса (rs232) кроме линий RxD и TxD есть еще куча разных, их называют “сигналами квитирования”. Я всегда путался в них — во всех этих RTS’ах, CTS’ах и прочих DSR’ах. В этой статье, я попробую систематизировать и кратко описать эти сигналы.