Как стать автором
Обновить
-25
Карма
0
Рейтинг

Пользователь

  • Подписчики
  • Подписки 9
  • Публикации
  • Комментарии

Попытка использовать современный C++ и паттерны проектирования для программирования микроконтроллеров

C++ *Программирование микроконтроллеров *
Всем привет!

Проблема использования С++ в микроконтроллерах терзала меня довольно долгое время. Дело было в том, что я искренне не понимал, как этот объектно ориентированный язык может быть применим к встраиваем системам. Я имею ввиду, как выделять классы и на базе чего составлять объекты, то есть как именно применять этот язык правильно. Спустя некоторое время и прочтения n-ого количества литературы, я пришёл к кое каким результатам, о чем и хочу поведать в этой статье. Имеют ли какую либо ценность эти результаты или нет — остается на суд читателя. Мне будет очень интересно почитать критику к моему подходу, чтобы наконец ответить себе на вопрос: «Как же правильно использовать C++ при программировании микроконтроллеров?».

Предупреждаю, в статье будет много исходного кода.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 5.5K
Комментарии 8

Что делать, если поймал HardFault?

Программирование микроконтроллеров *
Tutorial
Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться.

Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он никак не обрабатывается, а просто остаётся висеть в бесконечном цикле обработчика, предусмотренном в startup файле производителя. В то же время программист пытается интуитивно найти причину отказа. На мой взгляд это не самый оптимальный путь решения проблемы.

В данной статье я хочу описать методику анализа тяжелых отказов популярных микроконтроллеров с ядром Cortex M3/M4. Хотя, пожалуй, «методика» — слишком громкое слово. Скорее, я просто разберу на примере то, как я анализирую возникновение тяжелых отказов, и покажу, что можно сделать в подобной ситуации. Я буду использовать программное обеспечение от IAR и отладочную плату STM32F4DISCOVERY, так как эти инструменты есть у многих начинающих программистов. Однако это совершенно не принципиально, данный пример можно адаптировать под любой процессор семейства и любую среду разработки.


Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 12K
Комментарии 10

Интеграция в проект LVGL графической библиотеки для микроконтроллеров

Системное программирование *C *Программирование микроконтроллеров *Дизайн Гаджеты
LVGL — Light and Versatile Graphics Library также известная как LittleVGL.


Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открытая, поддерживает большое количество графических элементов с Dark and Light темами. Распространяется под MIT license. Можно свободно использовать даже в коммерческих продуктах. Можно посмотреть интерактивное Online Demo без установки на устройство
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 16K
Комментарии 56

Очередная книга про разработку операционных систем

Системное программирование *C *Программирование микроконтроллеров *Учебный процесс в IT
image

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

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

Всё это время я также наблюдал на разных ресурсах посты о «разработке ОС», которые в основном сводились к выводу «hello world» в QEMU, и сетовал на то, что не нужно путать ОС и «программу, которая может работать на голом железе». ОС это совсем не про работу на железе, это, в первую очередь, про синхронизацию и все такое прочее.
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры 11K
Комментарии 35

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Разработка для интернета вещей *Схемотехника *Разработка под Arduino *Производство и разработка электроники *DIY или Сделай сам
🔥 Технотекст 2020
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Всего голосов 135: ↑132 и ↓3 +129
Просмотры 56K
Комментарии 202

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 1

Компиляторы *Программирование микроконтроллеров *Интернет вещей
Из песочницы

Часть 2. Начало работы →


Библиотека генератора ассемблерного кода для микроконтроллеров AVR


Часть 1. Первое знакомство


Добрый день, уважаемые хабровчане. Хочу предложить вашему вниманию очередной (из имеющегося великого множества) проект, для программирования популярных микроконтроллеров серии AVR.


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

Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Просмотры 12K
Комментарии 24

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность