Переход от языка ассемблер к С около 40 лет назад привел к большому количеству разногласий из-за повышения уровня абстракции и опасений по оптимальности скомпилированного ассемблерного кода. По рейтингу IEEE на 2016 год, язык программирования С является самым популярным в мире.
С точки зрения встраиваемых систем, ведущие компания мира переходят на процесс разработки модельно-ориентированного проектирования с автоматической генерацией С кода из системных моделей. Это обусловлено:
- Сложностью систем — количество и сложность алгоритмов растет
- Растущими издержками на написание кода (~ 10 млн строк кода на средний автомобиль) — где взять столько программистов, которые не только умеют писать код, но и понимают прикладную область?
- Сложностью верификации больших объемов кода — как доказать, что весь код работоспособен?
- Сложностью переиспользования алгоритмов при переходе на другую элементную базу
Пока скептики размышляют о сложностях перехода на автоматическую генерацию кода из Simulink и оптимальности получаемого кода (вместо того, чтобы попробовать), мы внимательно изучили эту технологию, протестировали и успешно применяем для выполнения “боевых” проектов. Владение этой технологией позволяет нам:
- Быстро получать оптимизированный С/С++/VHDL/Verilog/PLC код из алгоритмов на языке MATLAB и моделей Simulink
- Вместо растраты времени на написание кода, сфокусироваться на проверке работоспособности различных решений задачи на уровне моделей Simulink
- Быстро вносить изменения и исправления ошибок, если такие были выявлены
- Быстрый перенос алгоритмов между ЭКБ, например, перенос алгоритмов с микропроцессора на ПЛИС
- Избегать ошибок ручного кодирования при написании алгоритмов, а также обеспечивать соответствие кода нашим внутренним стандартам