Pull to refresh
16
0
dalfy @dalfy

Инженер

Send message

Как я, в итоге, написал новую RTOS, протестированную и стабильную

Reading time40 min
Views83K
Я работаю со встраиваемыми системами в течение нескольких лет: наша компания разрабатывает и производит бортовые компьютеры для автомобилей, зарядные устройства, и т.д.

image


Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.

Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.

Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.

Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
Читать дальше →
Total votes 162: ↑161 and ↓1+160
Comments61

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views198K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments96

Интерактивная диаграмма на CSS и HTML

Reading time1 min
Views19K

:hover


В очередной раз просматривая плагины для реализации всплывающих подсказок, наткнулся на замечательный пост.
Ничего сверхсложного и сверхсекретного в реализации не было, но она мне понравилась своей простотой и отсутствием javascript'a.
Обмозговав возможное применение, решил что на самой подсказке тоже могут быть подсказки, на подсказках второго уровня, могут быть подсказки 3его уровня и т.д. Можно сделать интерактивную блок-схему!
image
Читать дальше →
Total votes 133: ↑127 and ↓6+121
Comments32

Многоуровневое дерево с маркерами (HTML, CSS). Продолжение с jQuery

Reading time7 min
Views41K
Посмотреть в работе многоуровневое дерево с маркерами.В продолжение темы про дерево немного переделал код и подключил jQuery. Теперь дерево живое, узлы разворачиваются, как этого многие ожидают видя подобное дерево.
Теперь оформление дерева делает скрипт — сам расставляет маркеры для элементов с вложенными узлами.
Благодаря использованию скрипта HTML стал проще.

UPD 05.04.2009: обновлены скрипты, есть несколько вариантов скриптов.
UPD 09.04.2009: продолжение
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments44

Почему E = mc² — это лишь половина описания происходящего

Level of difficultyMedium
Reading time10 min
Views45K

Одним из наиболее глубоких открытий в физике стало самое известное уравнение Эйнштейна: E = mc². Проще говоря, оно гласит, что энергия равна массе объекта, умноженной на квадрат скорости света. Это простое на первый взгляд математическое соотношение таит в себе огромное количество физических смыслов, в том числе:

при наличии определённого количества энергии можно спонтанно создавать новые пары частиц материи-антиматерии, если их масса покоя меньше, чем количество энергии, необходимое для их создания,

если пара частиц материя-антиматерия аннигилирует, то при этом выделяется определённое количество энергии, определяемое массами аннигилировавшей пары частиц,

каждый раз, когда происходит ядерная реакция, будь то синтез или деление, если масса продуктов реакции меньше массы частиц, в ней участвовавших, E = mc² говорит о том, сколько энергии будет высвобождено в этой реакции.

Это уравнение, E = mc², описывает, сколько энергии присуще любой массивной частице, находящейся в состоянии покоя, включая то, сколько энергии требуется для её создания и сколько энергии выделяется при её разрушении.

Но что если частица не находится в состоянии покоя или если она вообще не имеет массы? В этих случаях E = mc² — это только половина значимого уравнения. Вторая половина гораздо интереснее и необходима для того, чтобы понять физический смысл происходящего.

Читать далее
Total votes 64: ↑62 and ↓2+76
Comments86

10 лет работы на одной батарейке: беспроводной датчик влажности и температуры

Reading time6 min
Views42K
Texas Instruments занимает лидирующие позиции во многих сегментах рынка полупроводниковой продукции. Следуя традиции, компания сама разрабатывает примеры применения своих электронных компонентов и публикует материалы на своем сайте: теория, схемы, референс-дизайны, обучающее видео и т.д. Там же продаются электронные компоненты и готовые платы (комплекты разработчиков и инструменты). Также TI имеет собственный форум e2e.ti.com и поддерживается сторонний ресурс www.43oh.com для инженеров-разработчиков и просто любителей. Активно ведет работу со школами и колледжами, обучая программированию микроконтроллеров даже младшеклассников.

Тем не менее, наши любители мало знакомы с примечательной продукцией этой компании. Скорее всего, это связано с ценой и почти отсутствием материалов на русском языке, что ограничивает аудиторию любителей, познакомившихся с полупроводниковой продукцией от TI. Также есть один неприятный нюанс – некоторые вещи не пропустит таможня РФ, а другие не экспортируются из США в РФ (и это не последствия недавних санкций — «так было»). Тем не менее есть способы приобрести необходимое.

Этой статьей я хочу обратить внимание любителей-разработчиков на решения TI, в частности, применимые для умного дома. Ряд опубликованных статей на GT об умном доме могли бы позаимствовать некоторые интересные решения. Например, опубликованная avs24rus статья Беспроводный Lighting-Sensor с питанием от CR2450, вызвала, запомнившееся мне, обсуждение в комментариях: «Как сделать так, чтобы датчик «поставить и забыть» на улице в условиях экстремальных минусовых температур? Аккумулятор, солнечная батарея, ионистор?
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments58

FLProg – Самостоятельная интеграция в программу кастомных контроллеров

Reading time10 min
Views22K

На Хабре достаточно давно не освещался проект FLProg. Это связанно с отсутствием времени на написание статей, да и моими собственными личными проблемами. Но проект не умер, он живёт и развивается. В среднем раз в месяц выходит очередная версия программы. Со времени последней публикации была полностью переделана отрисовка схемы (благодаря этому были устранены фризы при отрисовке), появилась система Cross Reference для проекта, и система анализа проекта на ошибки. Непосредственно сам код программы, был перенесён на более свежую версию языка программирования. Благодаря этому в положительную (с моей точки зрения конечно, ну и пользователи меня поддерживают) сторону изменился интерфейс программы. Добавились многие интересные блоки. Реализовано масштабирование схемы и поиск блоков.
Осторожно! Очень много картинок
Total votes 14: ↑13 and ↓1+12
Comments20

Схемотехника. Минимизация логических функций

Reading time5 min
Views397K
Минимизация логических функций является одной из типовых задач в процессе обучения схемотехнике. Посему считаю, что такая статья имеет место быть, надеюсь Вам понравится.

Читать дальше →
Total votes 83: ↑64 and ↓19+45
Comments42

Еще раз о минимизации булевых функций

Reading time3 min
Views17K
В предыдущей статье я рассказал, как симметричные карты позволяют достаточно просто и быстро минимизировать булевые функции, но не осветил два момента: получение разных вариантов минимального решения и автоматизацию самого алгоритма минимизации. Расскажу здесь об этом более подробно.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments14

Симметричные карты как средство минимизации булевых функций

Reading time4 min
Views14K
Памяти моего папы, Плеханова Станислава Петровича, посвящается.

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

Что же это за метод ?
Total votes 17: ↑14 and ↓3+11
Comments24

Эфиродинамика — современное естественнонаучное мировоззрение

Reading time13 min
Views35K

Русским учёным Владимиром Акимовичем Ацюковским сделано открытие в области физики (правильнее сказать — естествознания), масштаб которого сложно переоценить. Оно повлияет на все сферы человеческой жизни. Данная статья написана по мотивам некоторых книг В.А. Ацюковского [1, 2, 3] и является попыткой изложить суть открытия наиболее кратко и убедительно для неспециалиста.
Читать дальше →
Total votes 35: ↑4 and ↓31-27
Comments198

Обратные простые числа сквозь призму систем счисления

Reading time7 min
Views5.2K

В данной статье речь пойдёт о full reptend простых числах. Множество анимированных визуализаций и сонификации прилагаются. (Осторожно трафик)

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments16

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity