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

Вебинар «Разработка встраиваемых систем с помощью модельно-ориентированного проектирования»

Время на прочтение2 мин
Количество просмотров996

Всем привет!

На этом вебинаре расскажем:

- Как генерировать высококачественный и оптимизированный C/C++ код из моделей Simulink для использования в серийных системах

- Как осуществлять сборку, профилирование и верификацию сгенерированного кода на целевых процессорах на примере процессора компании Миландр

 → Регистрация и подробное описание

Читать далее
Всего голосов 3: ↑1 и ↓20
Комментарии0

Syrmia представила Autocheck — проект на базе LLVM/Clang для проверки кода C/C++ на соответствие стандарту AUTOSAR

Время на прочтение2 мин
Количество просмотров3.9K

17 января 2024 года Syrmia (занимается разработкой встроенного ПО) представила Autocheck (free C/C++ code checker for Automotive). Это открытый проект парсера на базе LLVM/Clang для проверки кода C и C++ на предмет оценки его пригодности для работы внутри транспортных механизмов (автомобилей и прочего) и других критически важных для безопасности технических сред в рамках соответствия требованиям стандарта AUTOSAR (AUTOmotive Open System ARchitecture) C++14.

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

Обучение с подкреплением, Модельно-ориентированное проектирование для AUTOSAR приложений — вебинары апреля

Время на прочтение1 мин
Количество просмотров584

Приглашаем вас принять участие в бесплатных вебинарах для инженеров и разработчиков.

Темы вебинаров:

Обучение с подкреплением

Модельно-ориентированное проектирование для AUTOSAR приложений

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

Вы в Самом Деле Хотите Стать Программистом Микроконтроллеров?

Уровень сложностиПростой
Время на прочтение62 мин
Количество просмотров72K

В этом тексте я напишу о буднях программиста МК в РФ.

Что вообще пишут программисты МК и на чем?

Основной язык программирования это С. Языку С уже более 50лет. Кроме микроконтроллеров С уже практические никому не нужен. Навыки программирования на С очень слабо конвертируются. В свое время, видимо на С написали компилятор для С++ и нужда в С для desktop как таковая отпала. A сам С остался для сборки артефактов для микроконтроллеров с экстремально малыми ресурсами. Хотя и сейчас большинство компаний в ЕС уже микроконтроллерные сборки собирают на С++ 17. 

Иногда программистам MК приходится обсчитывать аналоговые цепи и вычислять какие-то сложные 8-этажные формулы и строить графики. Для этого практикуют бесплатный интерпретатор Python.

Главным образом программисты МК составляют Board Support Package, пишут драйверы для новых умных периферийных чипов, пишут загрузчики, портируют RTOS(ы) на разные процессорные ядра, пишут код-генераторы, скрипты сборки, составляют модульные тесты, изредка производят рефакторинг, часто чинят ошибки в Legacy коде, изредка что-то изменяют в коде Assembler(а), который запускается до вызова функции main().

Иногда программист МК даже ничего не пишет сам вообще. Важно уже не сколько уметь программировать сколько уметь тестировать и собирать, улучшать из готового кода из интернета. Какие-то исходники можно взять из github или ядра Linux. Там есть код на многие темы. Драйверы для множества чипов.  Важно уметь верифицировать найденные сорцы и аккуратно подключить их к нужной сборке.

Читать далее
Всего голосов 135: ↑110 и ↓25+122
Комментарии404

Автомобильное ПО: варианты стратегического развития

Время на прочтение10 мин
Количество просмотров4K
image

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

Печально известен тот факт, что разработку ПО очень сложно планировать и реализовывать – особенно трудно оценивать времязатраты на создание больших программных продуктов. Такое положение дел тянется уже с 1960-ых годов, все это подробно описано в книге «Мифический человеко-месяц». Это книга Фреда Брукса, она была опубликована в 1975 и дополнена в 1995. Проблемы доведения процесса разработки программных продуктов до конца могут быть сформулированы законом Брукса: если вы не укладываетесь в сроки, дополнительные человеческие ресурсы только увеличат время на разработку.

В этой статье мы рассмотрим текущее состояние рынка платформ автомобильного программного обеспечения. Любая программная платформа полагается на аппаратную, требующуюся для работы программ. Я расскажу о сегментах рынка автомобильного ПО и приведу примеры важных продуктов. Но сначала нам нужно понять что такое программные платформы, а также рассмотреть их преимущества и недостатки.

Обзор платформ

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

Программист в автомобильной индустрии. Через тернии к звездам

Время на прочтение19 мин
Количество просмотров18K

image


Вступление


Фото сделано мной при посещении шоу-рума BMW Мюнхена.


Небольшая статья о там, как живется и чем дышится в большом и неповоротливом Automotive мире. Мире разработки программного обеспечения, какие технологии используются, какие задачи приходится решать, все исключительно на личном опыте. Да, тут я истины не открою, автомобильное ПО как правило использует устаревшие технологии и достаточно длинные циклы разработки, хотя конечно бывают исключения — Tesla, например. Хотя это лишь мои предположения по тому, что я могу прочесть об этой компании в интернете. Текст содержит небольшие вставки биографии автора.


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

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

Свободный мини AUTOSAR редактор для микроконтроллеров

Время на прочтение6 мин
Количество просмотров9.5K

В этом посте я хочу поделиться с вами программой написанной мной для разработки ПО под микроконтроллеры по стандарту близкому к AUTOSAR.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии8

PVS-Studio 7.14: intermodular analysis in C++ and plugin for JetBrains CLion

Время на прочтение4 мин
Количество просмотров752

0854_Release_714/image2.png


The PVS-Studio team is increasing the number of diagnostics with each new release. Besides, we are improving the analyzer's infrastructure. This time we added the plugin for JetBrains CLion. Moreover, we introduced intermodular analysis of C++ projects and speeded up the C# analyzer core.

Read more →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

PVS-Studio 7.14: межмодульный анализ в С++ и плагин для JetBrains CLion

Время на прочтение5 мин
Количество просмотров1.8K

0854_Release_714_ru/image2.png


Помимо увеличения количества диагностик с каждым новым релизом анализатор PVS-Studio развивается и в инфраструктурном плане. В данном случае это плагин для среды разработки JetBrains CLion, межмодульный анализ С++ проектов, ускорение работы ядра C# анализатора.

Читать дальше →
Всего голосов 11: ↑8 и ↓3+12
Комментарии4

McKinsey: переосмысляем софт и архитектуру электроники в automotive

Время на прочтение17 мин
Количество просмотров7.4K
image

По мере того, как автомобиль продолжает переход от аппаратно-управляемого обеспечения к программно-управляемым устройствам, правила конкурентной борьбы в автомобильной промышленности сильно меняются.

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

Однако вместе с важностью электроники и ПО растет также их уровень сложности. Возьмем в качестве примера растущее число строк программного кода (SLOC), содержащихся в современных автомобилях. В 2010 году на некоторых автомобилях было около десяти миллионов SLOC; к 2016 году этот показатель увеличился в 15 раз и составил примерно 150 миллионов строк кода. Лавинообразная сложность вызывает серьезные проблемы с качеством программного обеспечения, о чем свидетельствуют многочисленные отзывы о новых автомобилях.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии12

Камеры или лазеры

Время на прочтение23 мин
Количество просмотров12K
image

Какие датчики будут самыми важными в беспилотных машинах? Те датчики, что управляют так называемой системой восприятия, и это самое важное в управлении автомобилем. Задача системы восприятия – обнаруживать все важные объекты на дороге или рядом с ней, например, другие транспортные средства, пешеходов, мусор, а в некоторых случаях — дорожные объекты, такие как знаки и разметка полос.

(Позиционирование на дороге тоже зависит от датчиков).

Система восприятия должна обнаруживать все препятствия и пытаться идентифицировать их. Ей необходимо измерять их скорость и направление, а также предсказывать их движение. Это очень сложная задача.

Две ключевые ошибки в работе системы восприятия — это ложные отрицательное срабатывания (слепота) и ложные положительные срабатывания (призрачные объекты).

Ложное отрицательное срабатывание – это ситуация, в которой препятствие не было обнаружено. Это может привести к катастрофическим последствиям, если система будет срабатывать таким образом настолько долго, что вы не сможете безопасно объехать препятствие. Хорошая система почти никогда не выдаст ложноотрицательный результат. Ей может потребоваться лишняя пара мгновений на распознавание препятствия, она может что-то упустить из-за резких вспышек, но повторяющиеся ошибки могут привести к аварии. Говоря “никогда”, я имею ввиду “почти никогда”, порядка единицы к многим миллионам.

Ложноположительный результат – другой тип ошибки. В ее случае система видит то, чего на самом деле нет, и это вынуждает машину затормозить или свернуть. Это раздражает пассажиров, а если они не пристегнуты, то может привести к травмам. Также это может привести к ДТП, если другая машина едет очень близко или при слишком резком торможении и поворотах. Обычно такие случаи не представляют опасности, но если такое происходит слишком часто, то пользователи откажутся от системы.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии16

What Is MISRA and how to Cook It

Время на прочтение11 мин
Количество просмотров1.1K

Рисунок 2

Perhaps every microcontroller software developer has heard about special coding standards to help improve the code security and portability. One of such standards is MISRA. In this article, we'll take a closer look at what this standard is, its concept and how to use it in your projects.
Read more →
Всего голосов 3: ↑1 и ↓20
Комментарии0

Что такое MISRA и как её готовить

Время на прочтение12 мин
Количество просмотров23K

Рисунок 1


Пожалуй, каждый разработчик программ для микроконтроллеров наверняка хотя бы раз слышал про специальные стандарты кодирования, призванные помочь повысить безопасность и переносимость вашего кода. Одним из таких стандартов является MISRA. В этой статье мы рассмотрим подробнее, что же представляет собой этот стандарт, какова его философия и как использовать его в ваших проектах.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+19
Комментарии55

Издатель/подписчик для распределённых отказоустойчивых бортовых систем реального времени в 1500 строк кода

Время на прочтение31 мин
Количество просмотров17K

Сап, котятки.


Я пришёл рассказать о проекте UAVCAN — новом сетевом стандарте для организации взаимодействия узлов и компонентов современных транспортных средств с высоким уровнем автономности/автоматизации. Название является акронимом от Uncomplicated Application-level Vehicular Computing And Networking (несложные бортовые сети и коммуникации уровня приложения).


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



Конъюнктура


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


Мы наблюдаем быстрый рост сложности бортовых систем, связанный с развитием функциональных возможностей транспортных средств (особенно беспилотных) в целом, и систем автоматического управления в частности.

Ну и что?
Всего голосов 21: ↑21 и ↓0+21
Комментарии17

PVS-Studio 7.15: развитие MISRA, CWE, OWASP, Unreal Engine

Время на прочтение4 мин
Количество просмотров1.1K

PVS-Studio 7.15: развитие MISRA, CWE, OWASP, Unreal Engine
Инструмент PVS-Studio активно развивается в сторону выявления дефектов Safety и Security направленности. А именно: улучшается поддержка стандартов MISRA C:2012 и OWASP ASVS. Поддержан стандарт MISRA Compliance 2020. Из необычных нововведений можно назвать режим отображения лучших (наиболее интересных) срабатываний анализатора, который будет полезен для оценки инструмента при знакомстве с ним.

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