Рубрика «rtos» - 3

NRF51822: дружим BLE и RTOS - 1

Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе» — SoC, связка из микроконтроллера и периферии практически на любой вкус. Сегодня мы с вами рассмотрим одну из таких систем, чип NRF51822 от Nordic Semiconductor — решение для систем, заточенных под работу с технологией BLE, включенной в стандарт Bluetooth 4.0.

А поскольку электронные устройства все больше увеличивают уровень интеграции, то почему бы и в программировании не подняться на более высокий уровень абстракции и сделать Bluetooth приложение под управлением операционной системы реального времени – RTOS.
Нашей целью в рамках этой статьи будет сделать простое встроенное приложение для NRF51822 под управлением RTOS Keil-RTX которое будет опрашивать АЦП раз в секунду и записывать полученные значения в характеристики BLE. Если Вас заинтересовала эта тема — добро пожаловать под кат.
Читать полностью »

Недавно попросили в двух словах рассказать серьезным людям о загрузке операционной системы на ARM и дать оценку угроз безопасности этого процесса. Вообще ARM-процессоров и вообще ОС. Вы понимаете, все ведь слышали про эти ARM, и что такое ОС тоже все знают. Желательно, на уровне квадратиков со стрелками.

Загрузка ARM в четырех прямоугольниках — под катом.
Читать полностью »

Открытый проект модуля управления электрическими моторами. Технология разработки ПО - 1
Прошивку для внутренностей современной встраиваемой электроники написать с нуля практически нереально. На это просто не дают времени. Поэтому ПО для встраиваемых систем создается на базе
готовых программных платформ — фреймворков. Чем более развит фреймворк, тем быстрее идет разработка. Здесь пойдет речь о фреймворке созданном мной специально для модулей управления моторами и успешно применяемом уже в течении некоторого времени.
Читать полностью »

Носимая новогодняя гирлянда. С управлением по Bluetooth LE - 1

А по мне, то лучший способ провести длинные тёмные зимние вечера — это за разработкой алгоритмов для праздничной иллюминации.

Представляю открытый проект новогодней гирлянды на основе LED ленты со светодиодами WS2812B. Гирлянда питается от 4-х AA аккумуляторов. С текущими настройками проект поддерживает 122 светодиода на ленте, но легко может быть расширен до 1000 светодиодов и более. Гибкий перенастраиваемый алгоритм генерации световых эффектов. Проект содержит программу управления гирляндой с телефонов или планшетов, компилируемую без модификаций под iOS, Android и Windows.
Читать полностью »

Британская компания, две американские компании и 18 университетов (включая российские МИЭТ, ИТМО, СГАУ, ННТУ) сотрудничали, чтобы выпустить современный курс по микроконтроллерам c небольшой привязкой к интернету вещей. Об этом – сегодняшний пресс-релиз Imagination Technologies, Microchip Technology и Digilent (отделения National Instruments). Главный автор — профессор Александр Дин из университета Северной Каролины. В отличие от более легковестных курсов интернета вещей, новый курс подводит под предмет твердую инженерную базу – в нем подробно обсуждается использование RTOS-ов, архитектура микропроцессорного ядра микроконтроллера, протоколы периферии и даже оптимизация алгоритмов при программировании.

07_Communications

Скачать курс можно здесь:

https://community.imgtec.com/university/resources/connected-microcontroller-lab/

В пресс-релизе, помимо цитат из США, Великобритании, Германии, Китая, есть и цитата из России:

“MIET is part of Imagination’s MIPSfpga and Connected MCU Lab beta-testing programs. Our students have benefited from the MIPSfpga hands-on workshops and we are looking forward to implementing the Connected MCU Lab at our university because this course offers an up-to-date and well-structured curriculum for teaching embedded solutions to future engineers.”

– Alexey Pereverzev, Head of Computer Engineering, National Research University of Electronic Technology (MIET), Russia

Пару десятков слайдов из курса, чтобы вы почувствовали его вкус:

Читать полностью »

“Кажется, что совершенство достигается не тогда, когда нечего более добавить, а тогда, когда нечего больше убрать."

(Антуан де Сент-Экзюпери)

image

По теме изучения программирования встроенных систем, ОС реального времени, Ассемблера и С позвольте представить очень простую операционную систему StartOS.

Предназначение:

— если вам необходимо создать устройство, начинающее работать через 1-2 секунды после включения питания и способное реагировать на сигналы из внешнего мира в течение микросекунд;
— для быстрого создания систем управления объектами с выводом данных в Интернет;
— отработка идей, алгоритмов, изготовлении прототипов устройств;
— приобретение опыта программирования встроенных систем на языках C и Assembler;
— получение полного доступа к «железу» компьютерного устройства, например, для разработки самомодифицирующихся программ.

Некоторые свойства системы:

Время готовности после включения питания: < 1 сек
Объем двоичного кода программы: < 40 kB

Система занимает небольшой объем в верхних адресах ОЗУ, предоставляя пользователю стандартную загрузку программ в нижние адреса ОЗУ. Автостарт программы пользователя присутствует, если система обнаруживает на карте памяти файл START.BIN, то он запускается автоматически.

Основные функции системы:

Инициализация SoC (System on Chip, системы на чипе) и других внешних устройств. Загрузка программ пользователя в память и предоставление им интерфейса к системным функциям:

— работа с LCD в текстовом и графическом режимах (вывод текста, пикселей, линий, BMP картинок, сохранение / восстановление области экрана…);
— ввод координат X,Y пера с сенсорного экрана;
— работа с часами реального времени (RTC);
— чтение данных из аналого-цифровых преобразователей (ADC);
— чтение данных из цифровых портов;
— чтение / запись символов и строк в COM порт;
— вывод на широтно-импульсные модуляторы (ШИМ, PWM) и пьезодинамик;
— ввод-вывод пакетов сети Ethernet с использованием встроенного контроллера;
— чтение и запись файлов;
— сервер-клиент для Интернета;
— работа с видеокамерой.

Система реализована на платах разработчиков фирмы Samsung или FriendlyARM с процессорами Samsung. На эти процессоры и платы имеется полная документация.
Читать полностью »

Конструктор для «Умного Дома» — от идеи до воплощения

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

Проект, начавшийся в формате «для души», удивительным образом вышел за рамки хобби, и вырос серьезную разработку. В основе лежало желание создать систему, интересную как в плане технического творчества и программирования, так и удобную для повседневного использования. Хотя работа еще в разгаре, уже отчетливо видны контуры задуманного: распределенная система, высокотехнологичный «конструктор» для реализации всевозможных идей умного дома, с хорошей масштабируемостью.
Читать полностью »

Приветствую!

Хочу поделиться собственным опытом разработки электронного устройства. Сначала расскажу небольшую предисторию, чтобы было понятно, зачем это собственно нужно было мне.

С чего все начиналось

Изначально мы занимались разработкой программного обеспечения для чип-тюнинга. Одна из основных задач которого — считать прошивку из ЭБУ (электронный блок управления двигателем) и записать ее обратно. Понятное дело, что для этих целей нужно каким-то образом связать компьютер и ЭБУ при помощи адаптера. Когда раньше подавляющее количество ЭБУ использовало простейший способ приема-передачи данных, достаточно было использовать простейший адаптер на транзисторах или специализированной микросхеме. Однако на сегодняшний день большинство автомобилей для «общения» своих компонентов со внешней средой используют CAN шину. Адаптер для CAN шины на транзисторах уже не соберешь, и тут однозначно нужен процессор, который будет управлять всем по определенной программе.
Так возникла первая проблема — как побороть CAN шину. Для того, чтобы не изобретать велосипед выбор сделан на использовании готового адаптера, который работает по стандарту J2534. Для тех, кто не в курсе, стандарт J2534 это стандарт, описывающий аппаратную и программную части устройства, с помощью которого можно произвести подключение к ЭБУ посредством компьютера. Разработали его американцы. Основной причиной его разработки стало законодательное закрепление возможности обновление прошивки ЭБУ не специализированным дилерским сервисом, а любым желающим. Собственно, если каждый желающий может обновить прошивку на своем телефоне, то почему он не может это сделать со своим автомобилем.

Самый доступный импортный аналог стоит в районе 200 долл. США. Как впоследствии оказалось, два одинаковых устройства, удовлетворяющие стандарту J2534, могут работать по-разному с одним и тем же программным обеспечением. Поэтому изначально пришлось привязаться к конкретному производителю и его устройству.
Читать полностью »

Systemicus чаcть 2: GUI

Пост в продолжение данной темы. Чуть более месяца назад я показал ОС Systemicus и ее медленное подобие графического интерфейса. Всё это время (когда оно было в моем распоряжении) я работал над улучшениями и теперь представляю на суд общественности результаты. Быть может, данная статья поможет кому-нибудь в разработке своей GUI, т.к. я не нашел хороших материалов по некоторым аспектам данной темы.
Читать полностью »

image

Доброй ночи!

Думаю, что пришло время выложить первое видео и первую информацию о своей операционной системе, полностью написанной на flat assembler. Знаю, что уже много написано и сделано подобного, но думаю, что любителям данной темы это будет немного интересно.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js