C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it.
Linus Benedict Torvalds
Рубрика «embedded» - 3
Разработка firmware на С++ словно игра в бисер. Как перестать динамически выделять память и начать жить
2021-04-07 в 7:19, admin, рубрики: c++, embedded, entertainment, firmware, gcc, IAR, stm32, Блог компании Auriga, программирование микроконтроллеровОпыт разработки системы управления для железнодорожной техники на отечественных микроконтроллерах
2020-11-27 в 12:02, admin, рубрики: CAN, embedded, qt, Анализ и проектирование систем, железная дорога, локомотив, микроконтроллер, миландр, программирование микроконтроллеров, Производство и разработка электроники, разработка электроники, тепловоз, транспорт, управление проектамиВ статье я расскажу историю одной разработки, выполненной небольшим коллективом.
Сначала немного теории о том, что же такое локомотивная система управления и какие функции она выполняет.
Разбираемся с модулем ШИМ на tms320
2020-11-07 в 16:25, admin, рубрики: embedded, texas instruments, tms320, программирование микроконтроллеровДобрый день. Какое-то время назад я прочёл, что какому-то человеку захотелось изучить поглубже вопрос про ePWM модуль на мк tms320f28xxx, поэтому я решил, почему бы и мне не написать статью на эту тему, в которой я постараюсь подробно разжевать этот модуль на примере tms320f28335.
Читать полностью »
Реверс embedded: трассировка кода через SPI-flash
2020-08-20 в 8:00, admin, рубрики: debug, embedded, SPI, информационная безопасность, отладка, программирование микроконтроллеров, Производство и разработка электроники, реверс-инжиниринг, реверс-инжиниринг для новичков
Зачем?!
Наверное, это первая эмоция большинства людей, прочитавших название статьи. Однако, давайте представим следующую ситуацию: в процессе исследования устройства вы доходите до точки, когда можете исполнить внутри устройства свой код, и хотите вывести через UART заветное "Hello, Habr!", помигать светодиодами на плате как на новогодней ёлке или включить JTAG, но всего этого в вашем распоряжении нет.
В этой статье мы покажем необычный способ трассировки прошивки устройств с помощью эмулятора SPI-флешек.
Юнит-тесты в uVision Keil (и не только)
2020-06-09 в 12:52, admin, рубрики: C, c++, embedded, KEIL, tdd, unit-testing, велосипедостроение, программирование микроконтроллеров, юнит-тестирование, юнит-тесты
Не утихают споры о том, нужны ли юнит-тесты вообще, а если нужны — то как именно их писать. Сначала писать код или сначала писать тесты? Допустимо ли нарушать инкапсуляцию при тестировании или же можно трогать только публичное API? Сколько процентов кода должно быть покрыто тестами?
Тестирование во встраиваемых системах тоже порождает немало споров. Точки зрения разнятся от "покрытие должно быть 100% + нужны испытательные стенды" до "какие еще тесты, я программу написал — значит все работает".
Я не хочу начинать холивар и вооще стараюсь придерживаться некоего разумного баланса. Поэтому для начала предлагаю рассмотреть самые "низко висящие" плоды, которые позволяет сорвать юнит-тестирование применительно к embedded-разработке.
Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)
2020-04-06 в 14:34, admin, рубрики: embedded, Rust, rust embedded, st-link v2, stm32, stm32f103, STM32F103C8T6, программирование микроконтроллеровПривет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal).
В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки под микропроцессоры Cortex-M3. После этого, напишем простой пример — моргание встроенным светодиодом.
Читать полностью »
STM32CubeMonitor стоит попробовать
2020-04-02 в 19:37, admin, рубрики: embedded, stm32, программирование микроконтроллеров, разработкаВведение
STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-linkv2). Слово «Cube» в название не означает, привязку к CubeMxHAL от вас требуется всего лишь прошивка в формате "*.elf", что не может не радовать. Данная утилита позволяет чрезвычайно быстро и просто выводить данные с контроллера в реальном времени в виде графика, а так же осуществлять постобработку(присутствуют наборы основных математических и тригонометрических функций).
Читать полностью »
PVS-Studio Integration in PlatformIO
2020-03-05 в 14:38, admin, рубрики: C, c++, embedded, microcontroller, platformio, pvs-studio, Блог компании PVS-Studio, программирование микроконтроллеров, Разработка под Arduino
Recently, the PlatformIO development environment of embedded systems has supported PVS-Studio. In this article, you'll find out how to check your code with the static analyzer on the example of several open projects.
Читать полностью »
Опенсорс приключения киберэлектроника
2020-02-04 в 8:23, admin, рубрики: android, diy или сделай сам, embedded, kotlin, python, TensorFlow, машинное обучение, Носимая электроника, сделай самС 2018 я работаю над пет проектом, системой распознания нервных импульсов.
Началось все с того, что в 2017 я чуть не лишился руки. Несколько месяцев было неясно, с каким количеством рук я выйду из ситуации. В итоге получилось две. В результате этого нелегкого процесса бесконечных операций, я, будучи программистом и вообще человеком любопытствующим, сильно увлекся темой протезов, а именно управления ими. Так как рынок протезов очень мал, развивается он слабо относительно ПК или смартфонов. Особенно плохо дело с протезами руки, которые фактически не позволяют выполнять сложные манипуляции, даже если имеют пять пальцев и напоминают руку терминатора.
Я подумал, могу ли я что-то сделать для ускорения прогресса подобных систем.
Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32
2020-01-03 в 12:00, admin, рубрики: C, c++, cortex-m4, embedded, lcd, microcontrollers, SPI, ssd1283A, stm32, программирование микроконтроллеровВведение
Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой особенностью на известном китайском сайте.
Статья же увидела свет потому, что информации по контроллеру SSD1283A очень мало(как в русском, так и западном сегменте сети), и руководства я нигде не встречал. В сети можно найти даташит, однако там нет информации по инициализации и работе с дисплеем, а из полезного только описания регистров.
Хочу подчеркнуть, что данный материал конечно же не является истиной последней инстанции. Я привожу лишь свой опыт взаимодействия с устройством. Основная цель статьи проста — помочь всем тем, кто решил, хочет или захочет поработать с данным дисплеем, не более.