Пожалуй, каждый разработчик программ для микроконтроллеров наверняка хотя бы раз слышал про специальные стандарты кодирования, призванные помочь повысить безопасность и переносимость вашего кода. Одним из таких стандартов является MISRA. В этой статье мы рассмотрим подробнее, что же представляет собой этот стандарт, какова его философия и как использовать его в ваших проектах.
Читать полностью »
Рубрика «embedded» - 4
Что такое MISRA и как её готовить
2019-12-30 в 9:45, admin, рубрики: AUTOSAR, C, c++, development guidelines, embedded, MISRA, pvs-studio, Блог компании PVS-Studio, программирование микроконтроллеровМоя реализация кольцевого буфера в NOR flash
2019-12-06 в 13:09, admin, рубрики: CRC, Deflate, embedded, Raspberry Pi, Алгоритмы, Разработка на Raspberry Pi, сжатие данных, хранение данныхПредыстория
Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), который потом передаётся через интернет (с помощью USB-модема) на сервер, там складывается в БД. Информация о продажах загружается в 1с, также есть простенький веб-интерфейс для мониторинга и т.п.
То есть журнал жизненно необходим — для учёта (там выручка, продажи и т.д.), мониторинга (всевозможные сбои и другие форс-мажорные обстоятельства); это, можно сказать, вся информация, которая у нас об этом автомате.
Проблема
Флешки показывают себя как очень ненадёжные устройства. Они с завидной регулярностью выходят из строя. Это приводит как к простоям автоматов, так и (если по каким-то причинам журнал не мог быть передан онлайн) к потерям данных.
Это уже не первый опыт использования флешек, до этого был другой проект с более, чем сотней устройств, где журнал хранился на USB-флешках, там тоже были проблемы с надёжностью, временами число вышедших из строя за месяц исчислялось десятками. Пробовали разные флешки, в том числе и брендовые на SLC памяти, да некоторые модели надёжнее других, но замена флешек не решила проблему кардинально.
По заказам Embedded-разработчиков: ищем ошибки в Amazon FreeRTOS
2019-10-31 в 10:02, admin, рубрики: Amazon FreeRTOS, C, embedded, freertos, microcontrollers, open source, pvs-studio, static analyzer, static code analysis, Блог компании PVS-Studio, программирование микроконтроллеров, системное программированиеКаждый, кто программирует микроконтроллеры, наверняка знает о FreeRTOS, или по крайней мере слышал об этой операционной системе. Ребята из Amazon решили расширить возможности этой операционной системы для работы с сервисами AWS Internet of Things – так появилась Amazon FreeRTOS. Нас, разработчиков анализатора кода PVS-Studio, в почте и в комментариях под статьями попросили проверить эти проекты. Что ж, вы просили – мы сделали. Что из этого получилось – читайте далее.
Ультимативное сравнение embedded платформ для AI
2019-09-23 в 16:22, admin, рубрики: 2801, 2803, coral, embedded, GAP8, google coral, Grove AI, gyrfalcon, intel, intel ncs2, Intel NUC, Jetson AGX, Jetson Nano, jetson tx1, mobilnet, movidius, myriad, neural network, open vino, Raspberry Pi4, Rockchip, RPi4, Snapdragon, ssd, TensorFlow, tensorrt, tftrt, Анализ и проектирование систем, Блог компании Recognitor, искусственный интеллект, машинное обучение, обработка изображенийНейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности.
Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, проще и проще…
Но есть одна тёмная сторона. Про неё стараются молчать. Там нет ничего радостного, только тьма и отчаяние. Каждый раз когда видишь позитивную статью — грустно вздыхаешь, так как понимаешь что просто человек что-то не понял. Или скрыл.
Давайте поговорим про продакшн на embeded-устройствах.
Читать полностью »
Безопасный доступ к полям регистров на С++ без ущерба эффективности (на примере CortexM)
2019-09-07 в 17:00, admin, рубрики: c++, CLion, CMSIS, cortex-m, cortex-m4, embedded, Ken Smith, microcontrollers, Niklas Hauser, register access, registers, safety, stmicroelectronics, SVD, templates, Программирование, программирование микроконтроллеров, С++14
Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg
Всем доброго здравия!
В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части проблем.
Сегодня я хочу показать идею как можно сделать безопасным доступ к регистру и его полям без ущерба эффективности, используя сгенерированные на основе SVD файлов С++ классы.
Всех кого заинтересовал, добро пожаловать под кат. Кода будет много.
Читать полностью »
Chaos Constructions 2019 is Coming…
2019-08-19 в 12:25, admin, рубрики: demoscene, devops, devrel, DIY, embedded, Gamedev, monitoring, network, информационная безопасность, конференции, конференция, Мероприятия, метрики, хакатонChaos Constructions 2019
24-25 августа, традиционно в последние выходные лета, в Санкт-Петербурге пройдет компьютерный фестиваль Chaos Constructions 2019. На конференции в рамках фестиваля вашему вниманию будут представлены более 60 докладов на разные тематики.
- Безопасность
- Администрирование
- Программирование
- Разработка игр и другие
.
Изначально фестиваль был посвящен демосцене, а те компьютеры, которые теперь ретро, были самыми современными. Все началось в 1995 году с фестиваля ENLiGHT, который был организован Петром Соболевым (frog). В те годы толком не было ни системного администрирования, ни интернета, первые программисты создавали код, который выводил звуки и анимацию. Первопроходцы собирались раз в год под одной крышей показать свои работы и поделиться кодом, который и сейчас доступен для просмотра и изучения на http://ftp.cc.org.ru, где можно посмотреть работы за все эти годы. Из демопати ENLiGHT вырос компьютерный фестиваль Chaos Constructions. В 1999 году мероприятие впервые проходило под новым именем, постепенно на фестивале появилась выставка из коллекций энтузиастов. Сейчас эта выставка известна как объединение RTS, вы можете посещать её в разных городах России и на крупнейших фестивалях, и на небольших мероприятиях.
Читать полностью »
История создания Ethernet-CAN конвертера
2019-08-17 в 19:16, admin, рубрики: C, embedded, hardware design, open source, pcb design, stm32, дизайн, программирование микроконтроллеровОдним ясным солнечным днем по работе понадобился недорогой преобразователь интерфейсов CAN в Ethernet. Естественно поиски начались с готовых решений, но, как нередко это бывает, в итоге было принято решение о разработке собственного образца. Естественно, энтузиазм автора не смог устоять и ограничиться столь «урезанным» функционалом. Что из этого вышло, каким образом и почему — под катом.
Using PVS-Studio Static Analyzer in C and C++ Development for Embedded Systems
2019-08-12 в 10:58, admin, рубрики: C, c++, code quality, code review, embedded, static code analysis, Блог компании PVS-Studio, программирование микроконтроллеров
This article will tell you how to launch analysis of an embedded project and how to work with the analyzer's report. The PVS-Studio analyzer supports a number of compilers for embedded systems. The current version allows checking projects built with one of the following compilers under Window, Linux, and macOS:
Использование статического анализатора PVS-Studio при разработке для встраиваемых систем на C и C++
2019-08-12 в 10:58, admin, рубрики: C, c++, code quality, code review, embedded, static code analysis, Блог компании PVS-Studio, качество кода, обзор кода, программирование микроконтроллеров, Си, статический анализ кодаИз этой статьи вы узнаете, как запустить проверку embedded-проекта и как работать с отчетом анализатора. Анализатор PVS-Studio поддерживает ряд компиляторов для встраиваемых систем. В текущей версии возможна проверка проектов при сборке одним из следующих компиляторов под Window, Linux и macOS:
Вышел CLion 2019.2: поддержка встроенной разработки, отладчик для MSVC, поиск неиспользованных заголовочных файлов
2019-07-25 в 9:15, admin, рубрики: C, c++, CLion, debug, embedded, embedded software development, microcontrollers, windows, Блог компании JetBrains, Программирование, программирование микроконтроллеровПривет!
Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать новые идеи, и довести ряд исправлений и новых возможностей до непосредственного релиза. Но обо всем по порядку.
Если коротко, то в этом релизе мы:
- Продолжили дорабатывать поддержку разработки встроенных систем: появились новые возможности отладки и просмотр периферии.
- Довели до приемлемого качества пока что экспериментальный отладчик для MSVC.
- Полностью переписали на clangd проверку кода на Unused Includes, добавив возможность настраивать разные стратегии.
- Реализовали подсказки для аргументов вызова функций и лямбд, чтобы улучшить читаемость кода.
- Провели внутрикомандный Хакатон по улучшению производительности, придумали кучу новых подходов и успели воплотить в жизнь несколько улучшений.
- Реализовали подсветку синтаксиса более чем для 20 языков, встроили плагин для написания скриптов (Shell Script plugin), обновили плагин для Rust.