Как стать автором
Обновить

Embedded InnoDB новый движок Баз данных

Время на прочтение 4 мин
Количество просмотров 2.6K
SQL *
Oracle выпустила Embedded InnoDB.
 
Совсем недавно «красный гигант» выпустили Embedded InnoDB, под довольно демократичной лицензией GPLv2, не Апатч 2.0 но тоже сносно.
В данный момент данная БД доступна только для 32-х битных версии Windows и Linux.
Качать и ставить я бы пока не рискнул, сначала хочется осмотреться. Идеться в доку и читается. Так как сегодня на работе мне делать все равно нечего сделаю небольшой обзор-перевод.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 13

Впервые в России — конкурс Imagine Cup Embedded Development

Время на прочтение 3 мин
Количество просмотров 1.1K
IT-компании
Соревнование Imagine Cup включает в себя несколько конкурсов, среди которых — конкурс встраиваемых систем, в котором команде из 3-х человек необходимо разработать программно-аппаратное решение на базе устройства типа eBox под управлением Windows Embedded CE.



ХОРОШАЯ НОВОСТЬ: в этом году конкурс «Встраиваемые системы» будет проводится в России! Это значит, что из всех российских команд-участников будет выбрана команда-победитель, которая поедет на международный финал в Варшаву вместе с командой Software Design! Сейчас лучшее время для участия в конкурсе – ещё никогда шансы на прохождение в международный финал не были так высоки! Подача первоначальных заявок — до 15 января 2010 г.
Читать дальше →
Всего голосов 50: ↑28 и ↓22 +6
Комментарии 11

Разработка для встроенных систем на основе Quantum Leaps

Время на прочтение 15 мин
Количество просмотров 2.3K
Разработка веб-сайтов *
Quantum Leaps или QP это семейство фреймворков с открытыми исходными кодами для разработки встроенных систем. QP может работать с основной ОС (Linux, Windows, FreeRTOS и др) или без нее. QP портирован на огромное количество различных семейств процессоров.
Приложение на QP проектируется в виде нескольких конечных автоматов на основе UML диаграмм состояний (Statecharts).
Далее пример проектирования очень простого приложения на основе конечных автоматов.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

ARM-ы для самых маленьких

Время на прочтение 8 мин
Количество просмотров 200K
Assembler *Системное программирование *
Туториал


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Всего голосов 129: ↑124 и ↓5 +119
Комментарии 66

ARM-ы для самых маленьких: который час?

Время на прочтение 12 мин
Количество просмотров 52K
Assembler *Системное программирование *
Туториал


Сегодня мы разберемся с двумя важными вопросами: как писать более эффективный код с CMSIS и как правильно рассчитывать скорость работы процессора. Начнем мы со второй части и изучим процессы, которые происходят в LPC1114 для генерации тактовой частоты.

Читать дальше →
Всего голосов 50: ↑50 и ↓0 +50
Комментарии 21

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

Время на прочтение 14 мин
Количество просмотров 81K
Assembler *Системное программирование *
Туториал

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Комментарии 16

ARM-ы для самых маленьких: компоновка-2, прерывания и hello world!

Время на прочтение 9 мин
Количество просмотров 39K
Assembler *Системное программирование *
Туториал


Нашел возможность «добить» цикл еще одной статьей, где я подведу небольшой итог. По сути, только сейчас мы добрались до того, с чего, обычно, начинают программировать:
  • рассматриваем «сложный» сценарий компоновки GNU ld;
  • учимся использовать прерывания;
  • наконец добираемся до hello world!


Предыдущие статьи цикла:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 63: ↑59 и ↓4 +55
Комментарии 9

Программирование STM3220G под eCos

Время на прочтение 5 мин
Количество просмотров 7.6K
C++ *
Из песочницы
Есть у нас один проект, идея которого — создание фреймворка для быстрого программирования интеллектуальных шлюзов и хабов. Это когда один, в общем-то недорогой контроллер обслуживает группу датчиков по определённому алгоритму и при этом имеет связь с сервером. Такой себе вариант реализации internet of things.

Понятное дело фреймворк кросс-платформенный и должен покрывать максимально возможное количество аппаратных и программных платформ. Так вот, одним из заданий проекта является порт фреймворка для eCos, а в качестве аппаратной платформы для этого был выбран Cortex-M3 (STM32F2), в реализации платы STM3220G Eval. Опытом освоения такого вот тандема и хочется поделиться.

Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 2

Симулируем чайник в Wind River Simics

Время на прочтение 4 мин
Количество просмотров 8.8K
Блог компании Intel Анализ и проектирование систем *
Перевод


Примечание переводчика: представляю вниманию почтенной публики статью Якоба Энгблома (Jakob Engblom), в которой он демонстрирует внесение «аналогового» устройства в общем-то дискретный симулятор. Сам я также использую и разрабатываю модели для Simics, но с несколько других позиций, из-за чего редко вижу конечные плоды всей деятельности. Поэтому мне было очень интересно узнать, чем занимаются мои коллеги из Wind River, а затем захотелось поделиться с вами. Тех, кому тема полноплатформенной симуляции или конкретно Simics показались интересными, рекомендую обратить внимание на свежайший выпуск Intel Technology Journal Simics Unleashed – Applications of Virtual Platforms. Я также могу рассказать о Simics более детально и на Хабре в последующих своих постах. Жду ваших комментариев!

Встраиваемая вычислительная система редко работает в изоляции. Тогда как персональные компьютеры и потребительская электроника обычно могут работать самостоятельно с относительно нечастным вмешательством человека, большинство встроенных компьютеров тесно взаимодействуют с окружающим их миром. Они «чувствуют» его, исполняют управляющие алгоритмы, считывают показания датчиков, используют всевозможные актуаторы для того, чтобы изменять внешнюю среду. Они — активные участники непрерывно эволюционирующей кибер-физической реальности. Симуляция таких систем не может быть ограничена моделью изолированного цифрового компьютера — приходится вносить в неё часть физического мира. На следующем видео на Youtube демонстрируется, как это можно осуществить с помощью Wind River Simics.
Видео с выкипающим чайником
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 3

Микро БД для конфигурации на микроконтроллере

Время на прочтение 6 мин
Количество просмотров 20K
Хранение данных *
Из песочницы
Многие разработчики программ для микроконтроллеров сталкивались с проблемой хранения конфигурационных данных. Это могут быть калибровочные коэффициенты измерительного алгоритма или просто последний выбранный пользователем пункт меню. Для микроконтроллера, имеющего возможность записывать в собственную flash-память, решение кажется простым — стираем сегмент и пишем туда все, что нужно. Однако, если необходимо еще и обеспечить отказоустойчивость по отношению к выключению питания в произвольный момент, задача становится нетривиальной, — по сути необходимо реализовать маленькую базу данных с механизмом обеспечения атомарности операций записи и восстановлением после сбоев. Решение этой задачи для микроконтроллеров семейства MSP430 — под катом. По количеству используемых ресурсов оно подходит даже для самых младших членов этого семейства — с размером RAM от 256 байт и falsh-памяти от 8Kb. В качестве бонуса — интерфейс командной строки (через UART) для чтения и записи конфигурации.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 3

НТЦ Метротек. Часть 2. Беркут-ММТ и забег по граблям

Время на прочтение 3 мин
Количество просмотров 6.6K
Анализ и проектирование систем *

В прошлый раз я остановил рассказ на том, что мы рискнули сделать собственный модульный прибор, чтобы не привязывать разработки к сторонним решениям, таким, как наладонники iPAQ, давно ушедшим с рынка и вытесненным в конце концов смартфонами.


Итак, 2005-2006 годы.

Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 2

Один день программиста ембеддера. Написать драйвер для датчика влажности HTS221 от STM — это очень просто?

Время на прочтение 12 мин
Количество просмотров 20K
C *Промышленное программирование *Программирование микроконтроллеров *Разработка для интернета вещей *
image
Когда я оцениваю продуманность интерфейса пользователя специализированных микросхем от STMicroelectronics, меня временами удивляет тот факт, что они вообще способны работать. Но ведь работают же. И не просто работают, а имеют кучу фишек и крайне низкую цену. В результате приходится выбирать их снова и снова...

Очередной день обещал быть простым и приятным, насколько это возможно когда в очередной раз спасаешь “горящий” проект. По плану до вечера всего то надо было оживить интегральный совмещённый датчик температуры и влажности. Крошечные размеры, занимаемые им на плате, малое количество ножек и отсутствие дискретных компонентов “обвязки” позволяли надеяться на то, что имеешь дело с новейшей разработкой, а современные датчики, не смотря на маленькие размеры, отличаются умом и сообразительностью. Они без лишних вопросов выдают на выходе готовый результат. Зачастую они не просто выполняют измерения, а производят очень сложную обработку сигналов, имеют внутренние буферы для хранения данных, выходы прерываний чтобы во время разбудить микроконтроллер и много других приятных фишек. Всё это сильно облегчает задачу написания кода и сокращает требования к ресурсам управляющего микроконтроллера… Общаться с ними легко и приятно. Правда иногда приходится повозиться с большим количеством настроек. Однако, сегодня мне это не грозило, ведь передо мной всего лишь банальный ёмкостный измеритель влажности с функцией измерения температуры.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 68

Статический анализатор кода PVS-Studio 6.22 адаптирован для ARM-компиляторов (Keil, IAR)

Время на прочтение 14 мин
Количество просмотров 6.6K
Блог компании PVS-Studio C++ *C *Разработка робототехники *Программирование микроконтроллеров *
Embedded bugs

PVS-Studio — это статический анализатор кода для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++ и C#. Мы давно радуем читателей нашего блога проверкой открытых проектов и разбором найденных ошибок. Наши статьи имеют потенциал стать более интересными, так как анализатор научился проверять код встроенных устройств. Мы поддержали несколько ARM-компиляторов, про которые подробнее вы узнаете из статьи. Ошибки во встроенных устройствах и роботах могут быть более зрелищными, чем в прикладных программах. Ошибка во встроенном устройстве — это не просто падение/зависание программы или неправильная картинка. Это сошедший с ума Wi-Fi-чайник, который будет кипятить воду, пока она не выкипит и не сработает термопредохранитель. В общем, с ошибками в мире embedded-систем всё обстоит куда интереснее и страшнее.
Читать дальше →
Всего голосов 38: ↑35 и ↓3 +32
Комментарии 25

Почему embedded-разработчикам следует использовать статический анализ кода

Время на прочтение 5 мин
Количество просмотров 12K
Блог компании PVS-Studio Информационная безопасность *Промышленное программирование *Управление разработкой *Программирование микроконтроллеров *
Поверь в статический анализ кода!

Решил кратко сформулировать 3 причины, по которым embedded-разработчикам полезны инструменты статического анализа кода программ.
Читать дальше →
Всего голосов 57: ↑53 и ↓4 +49
Комментарии 74

Как мы научились подключать китайские камеры за 1000р к облаку. Без регистраторов и SMS (и сэкономили миллионы долларов)

Время на прочтение 7 мин
Количество просмотров 236K
Настройка Linux *Информационная безопасность *Работа с видео *Разработка для интернета вещей *Интернет вещей

Всем привет!


Наверное, ни для кого не секрет, что в последнее время облачные сервисы видеонаблюдения набирают популярность. И понятно почему так происходит, видео — это "тяжелый" контент, для хранения которого необходима инфраструктура и большие объемы дискового хранилища. Использование локальной системы видеонаблюдения требует средств на эксплуатацию и поддержку, как в случае организации, использующей сотни камер наблюдения, так и в случае индивидуального пользователя с несколькими камерами.



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


Есть несколько технологических способов подключения камер к облаку. Бесспорно, наиболее удобный и дешевый способ — камера напрямую подключается и работает с облаком, без участия дополнительного оборудования типа сервера или регистратора.


Для этого необходимо, чтобы на камере был установлен модуль ПО работающий с облаком. Однако, если говорить про дешевые камеры, то у них очень ограничены аппаратные ресурсы, которые почти на 100% занимает родная прошивка вендора камеры, а ресурсов необходимых для облачного плагина — нет. Этой проблеме разработчики из ivideon посвятили статью, в которой говорится почему они не могут установить плагин на дешевые камеры. Как итог, минимальная цена камеры — 5000р ($80 долларов) и миллионы потраченных денег на оборудование.


Мы эту проблему успешно решили. Если интересно как — велком под кат

Читать дальше →
Всего голосов 103: ↑100 и ↓3 +97
Комментарии 152

PVS-Studio: поддержка стандартов кодирования MISRA C и MISRA C++

Время на прочтение 5 мин
Количество просмотров 6.1K
Блог компании PVS-Studio C++ *C *Программирование микроконтроллеров *
PVS-Studio, MISRA C, MISRA C++

Начиная с версии 6.27 статический анализатор кода PVS-Studio может классифицировать свои предупреждения согласно стандартам MISRA C и MISRA C++. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 41

CLion 2019.1: ClangFormat, подсветка кода через Clangd, memory view, начальная поддержка микроконтроллеров

Время на прочтение 7 мин
Количество просмотров 8.7K
Блог компании JetBrains Программирование *C++ *C *
Привет, Хабр!

У команды CLion множество отличных новостей — питерская часть команды вместе с другими коллегами успешно перебралась в новый офис, к нам присоединились новые классные разработчики, а главное, мы буквально на днях выпустили первое большое обновление в этом году, CLion 2019.1!

Работа в новой версии шла сразу по нескольким фронтам:

  • Усовершенствования поддержки языка C++: подсветка кода через Clangd, улучшения рефакторингов Extract и Rename, новая проверка на то, что функцию-член класса можно объявить статической.
  • Больше возможностей в настройках стиля написания кода: интеграция с ClangFormat, поддержка стилей именования переменных в C/C++, поддержка разных стилей для header guards.
  • Новые возможности и улучшения отладчика: просмотр состояния памяти — Memory View — для указателей, просмотр дизассемблированного кода в случае LLDB, ускорение работы пошаговой отладки.
  • CLion для микроконтроллеров, первые шаги.
  • Возможность создавать Build Targets и конфигурации для запуска/отладки в CLion, которые никак не связаны с проектной моделью.
  • Работа с другими языками программирования в строковых литералах в С/С++.
  • Новые визуальные темы и другие платформенные возможности.

CLion 2019.1 release

Подробнее об этих и других нововведениях читайте ниже. А чтобы попробовать новые возможности и улучшения, скачайте бесплатную 30-дневную версию CLion с нашего сайта.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 37

Вышел CLion 2019.2: поддержка встроенной разработки, отладчик для MSVC, поиск неиспользованных заголовочных файлов

Время на прочтение 7 мин
Количество просмотров 12K
Блог компании JetBrains Программирование *C++ *C *Программирование микроконтроллеров *
Привет, Хабр!

Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать новые идеи, и довести ряд исправлений и новых возможностей до непосредственного релиза. Но обо всем по порядку.

CLion 2019.2 released

Если коротко, то в этом релизе мы:

  • Продолжили дорабатывать поддержку разработки встроенных систем: появились новые возможности отладки и просмотр периферии.
  • Довели до приемлемого качества пока что экспериментальный отладчик для MSVC.
  • Полностью переписали на clangd проверку кода на Unused Includes, добавив возможность настраивать разные стратегии.
  • Реализовали подсказки для аргументов вызова функций и лямбд, чтобы улучшить читаемость кода.
  • Провели внутрикомандный Хакатон по улучшению производительности, придумали кучу новых подходов и успели воплотить в жизнь несколько улучшений.
  • Реализовали подсветку синтаксиса более чем для 20 языков, встроили плагин для написания скриптов (Shell Script plugin), обновили плагин для Rust.

Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 67

Создание и настройка Mesh-сети на собственном опыте, а также немного цифр и аналитики

Время на прочтение 6 мин
Количество просмотров 5.9K
C++ *Mesh-сети *
Из песочницы

Все началось с того, что на очередном обсуждении дальнейшей судьбы проекта, над которым я тогда работал, кто-то сказал: «А давайте прикрутим меш-сети, ведь это круто, модно и молодёжно!». И именно с этого момента началась моя неравная борьба с меш-сетями, из которой мы с товарищем вышли победителями. Хоть и с небольшой оговоркой.


image
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 6

Разработка встроенного ПО: введение

Время на прочтение 7 мин
Количество просмотров 13K
Программирование микроконтроллеров *
Из песочницы
Привет, Хабр! Представляю вашему вниманию перевод статей Chris Svec, оригинал здесь. Публикуется с разрешения автора по лицензии CC-A-NC-ND.

Embedded software engineering 101: введение


Я запускаю цикл статей по обучению разработке встроенного программного обеспечения. Мы начнем с описания простого микроконтроллера, и после того, как Вы поймете, как он работает, разовьем это до понимания работы относительно сложных систем, таких как Fitbit или Nest.
Я назвал эту серию Embedded Software Engineering 101, и она начинается с этой недели прямо здесь в этом блоге.

Продолжайте читать для дальнейших объяснений и подробностей.


Одни строительные блоки на других строительных блоках.
Читать дальше →
Всего голосов 26: ↑18 и ↓8 +10
Комментарии 24
1