Цитата(sonycman @ Aug 8 2010, 18:05)

А как обычно реализовывают работу с ЖКИ под ОС?
Тоже городить мьютексы? Или проще отдать эту задачу одному единственному процессу, а другие будут, в случае надобности, слать сообщения с нужными данными?
Оба варианта имеют право на существование. Например, один процесс мониторит заряд батарейки, и рисует соответствующую пиктограмму, а второй процесс - пользовательский интерфейс (опрашивает кнопки и рисует меню). В этом случае наверное достаточно мутекса (области рисования независимы). В более общем случае можно назначить отдельный процесс, и к нему - очередь сообщений.
Цитата
И по поводу сообщений - как происходит с ними работа?
Я так понимаю, что сообщение - просто некий контейнер, который выполняет функцию промежуточного хранения или транспортировки данных между процессами.
Да.
Цитата
Может ли сообщение затираться другим, в случае, если процесс-отправитель имеет высокий приоритет, а получатель - низкий и просто не получает времени на прочтение?
Да, может. Чтобы этого не произошло, нужно отправлять сообщения более приоритетному процессу. Либо использовать очередь сообщений.
Цитата(sonycman @ Aug 8 2010, 21:05)

А если ситуация такая: высокоприоритетная задача занята работой, и в процессе может отправить одно или несколько однотипных сообщений низкоприоритетной задаче.
Тогда очередь, да. Например, OS::channel<>.
Цитата
Надо ли обрамлять макросом TISRW все подряд обработчики прерываний, или только те, в которых используются сервисы ОС?
Только те, где сервисы.
Цитата
И имеет ли значение приоритет прерывания SYS_TICK, на котором висит планировщик?
Ведь на кортексах по умолчанию работают вложенные прерывания.
Да, его приоритет минимальный, это гарантирует, что он выполняется после всех прерываний (не является вложенным). (Приоритет задаётся в
OS_Target_asm.S)
Если бы я знал, что такое электричество...