Переход от языка ассемблер к С около 40 лет назад привел к большому количеству разногласий из-за повышения уровня абстракции и опасений по оптимальности скомпилированного ассемблерного кода. По рейтингу IEEE на 2016 год, язык программирования С является самым популярным в мире.

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

  • Сложностью систем — количество и сложность алгоритмов растет
  • Растущими издержками на написание кода (~ 10 млн строк кода на средний автомобиль) — где взять столько программистов, которые не только умеют писать код, но и понимают прикладную область?
  • Сложностью верификации больших объемов кода — как доказать, что весь код работоспособен?
  • Сложностью переиспользования алгоритмов при переходе на другую элементную базу

Пока скептики размышляют о сложностях перехода на автоматическую генерацию кода из Simulink и оптимальности получаемого кода (вместо того, чтобы попробовать), мы внимательно изучили эту технологию, протестировали и успешно применяем для выполнения “боевых” проектов. Владение этой технологией позволяет нам:

  • Быстро получать оптимизированный С/С++/VHDL/Verilog/PLC код из алгоритмов на языке MATLAB и моделей Simulink
  • Вместо растраты времени на написание кода, сфокусироваться на проверке работоспособности различных решений задачи на уровне моделей Simulink
  • Быстро вносить изменения и исправления ошибок, если такие были выявлены
  • Быстрый перенос алгоритмов между ЭКБ, например, перенос алгоритмов с микропроцессора на ПЛИС
  • Избегать ошибок ручного кодирования при написании алгоритмов, а также обеспечивать соответствие кода нашим внутренним стандартам