Как перестать писать на Asm и начать использовать C++ для STM32?

Суть проблемы в том, что мне в наследство достался достаточно большой архив ПО на Asm для микроконтроллеров семейства AVR8. В дальнейшем борьба за микросекунды привела нас к миграции на STM32 с использованием всё того же ассемблера. Во-первых, специфика работы подразумевает сокращение времени исполнения основного кода до минимума, во-вторых, ассемблер субъективно мне понятней и ближе. В данный момент задач становится всё больше, логика запутывается всё сильнее, обслуживать разросшийся код становится всё сложнее.

Хотелось бы надеяться, что плавный переход на C, C++ и дальнейшее использование RTOS и кусков ассемблерного кода изменят ситуацию, но тут-то и возникает основная проблема. В данный момент ST предлагает использовать для разработки CubeIDE с применением HAL. Помимо этого существуют StdPeriph, CMSIS и, подозреваю, целая куча других библиотек (QnA два года назад предлагали LibOpenCM3, например). Что же всё-таки выбрать в данной ситуации? Хочется и быстрого кода, и удобного управления кучей событий и прерываний, и читаемости.
  • Вопрос задан
  • 402 просмотра
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
Выберите профайлер и внутрисхемную отладку.
На основе этих метрик и будете переписывать проблемные участки кода на ASM

И кстати С++ для микроконтроллера, особенно с критичными по времени участкам кода, это излишнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы