Цитата(Allregia @ Nov 23 2017, 08:40)

В настройках кодера есть target, и там стоит MS Visual C++ 64bit.
И мы вовсе не уверены, что сгенеренный для 64 бит Вижуала код, получается также хорош для 32-битного Кортекса, поотому и задал вопрос.
Похоже вы делаете также как и я.
Simulink когда генерит код рассчитывает на некий готовый фреймворк на платформе.
А мне такое не нужно. Поэтому генерю весь пакет файлов, но беру от туда только главный код и h-файл с объявлением типов.
Компиляцией в самом Matlab не пользуюсь. Поэтому параметры касающиеся toolchain не имеют значения.
Правда приходится править интерфейсы функций и передачу аргументов для совместимости с моим фреймворком.
Иногда чтобы подстроить модель под мой стиль передачи параметров приходится переусложнять модель в Simulink.
Короче разработка итерационная: строю модель, генерю код, смотрю как вышло, если не нравится переделываю модель чтоб сгенерила по другому.
У меня такие настройки для code generation:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаСгенерированный код отлично работает под Cortex-M4. Проверено многократно. Хорошо оптимизируется.
Варианты double от float отличается только тем, что в последнем идут суффиксы f у всех чисел с плавающей точкой.
Если проектируете фильтры, то Matlab покажет как различаются характеристики после усечения точности.
Но не гарантирует, что фильтр построенный в Simulink бедет работать правильно. Надо все перепроверять там же.
Перевод модели из нативного double в урезанный float без потери стабильности всегда ручная и сложная работа.