Владимир Вишневский - С++ в мире встраиваемых систем

Ближайшая конференция: С++ Russia 2024, 24 мая (online), 2-3 июня (offline, Москва)
Подробности и билеты: jrg.su/W8skjE
- -
Доклад знакомит слушателей с концепциями, разнообразием и архитектурными особенностями встраиваемых систем и рассматривает специфику использования С++ для разработки встраиваемого ПО. Множество аппаратных платформ и задач, решаемых встраиваемыми системами, определяет разнообразие существующих проблем, доступного инструментария и стандартов.
В докладе рассматривается текущее положение дел в сфере использования языка С++ для разработки встраиваемого ПО с фокусом на особенностях языка С++, востребованных в реальных проектах, а также проблемах, ограничивающих его применение.
Представленная информация может быть интересна специалистам начинающего и среднего уровня - как уже работающим со встраиваемыми системами, так и рассматривающими это направление для дальнейшего развития.

Пікірлер: 7

  • @sergeykirdyankin7027
    @sergeykirdyankin7027 Жыл бұрын

    Классное видео. Если бы еще вендоры на это внимание обратили, а так под каждый новый МК придётся самим всю периферию описывать, а это не хилый объём дополнительной работы - работодатель может не оценить. В Rust рекламируют классную штуку, утилита которая из SVD файла(которые к каждому чипу поставляются) генерирует полное описание всей периферии с контролем возможности записи/чтения в каждый бит. Вот что то подобное для плюсов бы, но тут действительно сначала бы стандарт какой придумать для этого, что не тривиально учитывая насколько периферия может отличаться от МК к МК. Тогда переход с Си был бы гораздо проще. Сейчас же в условиях когда в наличие SDK только с сишным описанием периферии и ядра сделать такое конечно можно но очень трудозатратно, особенно если различных используемых платформ(МК) довольно много.

  • @SS-ne5js
    @SS-ne5js4 ай бұрын

    16:10 требования к языку

  • @vladimir0rus
    @vladimir0rus3 ай бұрын

    Писать юнит-тесты и следовать TDD можно и на Си.

  • @user-qj4se5iw4t
    @user-qj4se5iw4t2 жыл бұрын

    Много лет занимаюсь пропагандой С++ в embedded сообществах. Так корову не продать. Чхать они хотели на возможность тестирования. Реальную работу с железом ни один тест воспроизвести не может, а потому только отладка и испытания в железе. Начинаешь показывать возможности компайлтайм вычислений и оптимизаций на примере пинов - получаешь в ответ "и это дрочево и портянки ради дрыганья ножек и экономии пары таков?". Показывать что-то более серьёзное вобще не имеет смысла, ибо разговор на разных языках. Ну, примерно как ваша заключительная часть доклада - прощебетали на своём птичьем название двух десятков классов и что? Ради чего всё это надо изучить?

  • @MikeSmith-qc3ow

    @MikeSmith-qc3ow

    Жыл бұрын

    Согласен, этот доклад по сути поймут только плюсовики. Бывалый эмбед-си-программист с опытом, испорченным десятком простых проектов, чхать хотел на классы, шаблоны, enum class, constexpr, ссылки и прочие полезности. Чтобы понять удобство с++, надо им начать пользоваться. А без знания языка это невозможно. Зачем нам напрягаться, что-то учить, когда наша программа и так работает, зачастую под лозунгом "и так сойдёт". Я уже лет десять перешёл на плюсы в эмбеддед, назад в чистый си не хочу. Но бывалых коллег переубедить действительно сложно.

  • @vladimir0rus
    @vladimir0rus3 ай бұрын

    Похоже С++ адепты не понимают что главным ограничением в случае микроконтроллеров являются RAM и ROM, поэтому все эти распухшие С++ библиотеки идут лесом. Если нельзя использовать динамическую аллокацию, то и никакие смарт поинтеры и RAII не нужны, так как всё равно приходится ресурсами вручную управлять. Поэтому от С++ мало что остается полезного.

  • @vladimir0rus
    @vladimir0rus3 ай бұрын

    4:05 Такое определение встраиваемых систем никуда не годится. WiFi роутер это 100% "встраиваемая система", но его функционал не является вторичным. Все smart (умные) устройста и IoT - это всё встраиваемые системы.

Келесі