Шаблоны проектирования (Design patterns)

Опубликовано в рубрике "Статьи", 15.09.2010.

Самое сложное в программировании – не набивание кода, а создание архитектуры программы. Удачные кусочки архитектур можно позаимствовать у других и применить в своих программах, такие кусочки называются “шаблонами проектирования”.

pattern

offsetof(s, m)

Опубликовано в рубрике "Статьи", 01.09.2010.
Тэги: , , , автор:

Если порыться по стандартным заголовочным фалам ANSI-C компилятора, то в файле stddef.h можно найти макрос offsetof()

Макрос offsetof() имеет тру-эмбеддерское объявление

1// у кейла
2#define offsetof(s, m) (size_t)&(((s *)0)-›m)
3
4// у IAR’а
5#define offsetof(T, m) (__INTADDR__((&((T *)0)-›m)))

Самое интересное, что несмотря на полезность этого макроса, он очень редко используется. Я и сам не знал о его существовании до сегодняшнего дня.

Обзор линукса для встраиваемых систем

Опубликовано в рубрике "Эмбеддерство", 31.07.2010.
Тэги: , , автор:

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

 

linnux 

Скачать можно тут:

linux.avi — линукс для встраеваемых систем (59mb)

Протопотоки (protothreads)

Опубликовано в рубрике "Статьи", 20.07.2010.

Protothreads – очень удобная библиотека, реализующая аналог кооперативной ОС с очень маленькими затратами ресурсов (2 байта на поток!). Особенно она актуальна для небольших контроллеров и, собственно снимает извечный вопрос – пользоваться ОС или нет.

threads

Основные “фишки”

  • Очень маленькие затраты – достаточно всего два байта на поток
  • Библиотека написана на чистом C и C-препроцессоре без ассемблера и, поэтому, очень легко переносится
  • Выпускается под  BSD — лицензией

Сигналы квитирования (RTS, CTS итп) и RS232 вообще

Опубликовано в рубрике "Статьи", 17.07.2010.
Тэги: , , , автор:

У стандартного модемного интерфейса (rs232) кроме линий RxD и TxD есть еще куча разных, их называют “сигналами квитирования”. Я всегда путался в них — во всех этих RTS’ах, CTS’ах и прочих DSR’ах. В этой статье, я попробую систематизировать и кратко описать эти сигналы.

   handshaking