Переход от языка ассемблер к С около 40 лет назад привел к большому количеству разногласий из-за повышения уровня абстракции и опасений по оптимальности скомпилированного ассемблерного кода. По рейтингу IEEE на 2016 год, язык программирования С является самым популярным в мире.
С точки зрения встраиваемых систем, ведущие компания мира переходят на процесс разработки модельно-ориентированного проектирования с автоматической генерацией С кода из системных моделей. Это обусловлено:
- Сложностью систем — количество и сложность алгоритмов растет
- Растущими издержками на написание кода (~ 10 млн строк кода на средний автомобиль) — где взять столько программистов, которые не только умеют писать код, но и понимают прикладную область?
- Сложностью верификации больших объемов кода — как доказать, что весь код работоспособен?
- Сложностью переиспользования алгоритмов при переходе на другую элементную базу
Пока скептики размышляют о сложностях перехода на автоматическую генерацию кода из Simulink и оптимальности получаемого кода (вместо того, чтобы попробовать), мы внимательно изучили эту технологию, протестировали и успешно применяем для выполнения “боевых” проектов. Владение этой технологией позволяет нам:
- Быстро получать оптимизированный С/С++/VHDL/Verilog/PLC код из алгоритмов на языке MATLAB и моделей Simulink
- Вместо растраты времени на написание кода, сфокусироваться на проверке работоспособности различных решений задачи на уровне моделей Simulink
- Быстро вносить изменения и исправления ошибок, если такие были выявлены
- Быстрый перенос алгоритмов между ЭКБ, например, перенос алгоритмов с микропроцессора на ПЛИС
- Избегать ошибок ручного кодирования при написании алгоритмов, а также обеспечивать соответствие кода нашим внутренним стандартам
![](/storage/app/media/uploaded-files/%20%D0%BE%D0%B1%D1%81%D1%83%D0%B4%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%20%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D1%81%D1%82%D0%BE%D0%BC.jpg)