exponenta event banner

Создание кода C на основе модели Simulink

Simulink ® Coder™ генерирует автономный код C и C++ из моделей Simulink для развертывания в различных приложениях. Список функций Toolbox™ системы DSP, поддерживаемых Simulink Coder, см. в разделе Блоки, поддерживаемые для генерации кода C.

В этом примере создается код C из ex_codegen_dsp и строит исполняемый файл из сгенерированного кода. Исполняемый файл можно запустить в среде MATLAB ®. Кроме того, можно упаковать и переместить код в другую среду разработки, в которой не установлены продукты MATLAB и Simulink.

Открытие модели

ex_codegen_dsp модель реализует простой адаптивный фильтр для удаления шума из сигнала при одновременной идентификации фильтра, характеризующего частотное содержание шума. Чтобы открыть эту модель, введите следующую команду в командной строке MATLAB:

open_system('ex_codegen_dsp')

Можно также создать модель с помощью шаблона системы DSP. Дополнительные сведения см. в разделе Настройка среды Simulink для моделей обработки сигналов.

Настройка модели для создания кода

Подготовьте модель к созданию кода, указав параметры создания кода в диалоговом окне Параметры конфигурации (Configuration Parameters). Выберите соответствующий решатель и цель генерации кода и проверьте конфигурацию модели на эффективность выполнения. Дополнительные сведения о каждом из этих шагов см. в разделе Создание кода C для модели (Simulink Coder).

Моделирование модели

Моделирование модели. Временная область показывает входные и отфильтрованные характеристики сигнала.

График массива показывает последние 32 веса фильтра, для которых фильтр LMS эффективно адаптировал и отфильтровал шум из сигнала.

Эти коэффициенты также можно получить с помощью следующей команды:

filter_wts(:,:,1201)

Создание кода из модели

Прежде чем создавать код из модели, необходимо убедиться в наличии разрешения на запись в текущей папке.

Для создания кода необходимо внести следующие изменения:

  1. На вкладке «Моделирование» панели инструментов модели выберите «Параметры модели». Откроется диалоговое окно Параметры конфигурации (Configuration Parameters). Перейдите на вкладку «Создание кода», выберите параметр «Генерировать только код» и нажмите кнопку «Применить».

  2. В галерее Приложения щелкните Кодер Simulink. Появится вкладка C Code. Щелкните значок «Создать код» ().

После завершения создания кода в модели появится отчет о создании кода, позволяющий проверить созданный код. Обратите внимание, что процесс построения создает новую подпапку с именем ex_codegen_dsp_grt_rtw в текущей рабочей папке MATLAB. Эта подпапка содержит все файлы, созданные в процессе создания кода, включая файлы, содержащие сгенерированный исходный код C. Дополнительные сведения о просмотре созданного кода см. в разделе Создание кода C для модели (Simulink Coder).

Построение и выполнение созданного кода

Настройка компилятора C/C + +

Чтобы создать исполняемый файл, необходимо настроить поддерживаемый компилятор Си. Список компиляторов, поддерживаемых в текущей версии, см. в разделе Поддерживаемые и совместимые компиляторы.

Чтобы настроить компилятор, выполните следующую команду в командной строке MATLAB:

mex –setup

Создание созданного кода

После установки компилятора можно построить и запустить скомпилированный код. Модель ex_codegen_dsp в настоящее время настроена только на создание кода. Для создания созданного кода необходимо сначала внести следующие изменения:

  1. На вкладке «Моделирование» панели инструментов модели выберите «Параметры модели». Откроется диалоговое окно Параметры конфигурации (Configuration Parameters). Перейдите на вкладку «Создание кода», снимите флажок «Генерировать только код» и нажмите кнопку «Применить».

  2. На вкладке «Код C» панели инструментов модели щелкните значок построения ().

Генератор кода создает исполняемый файл и отчет о создании кода. Генератор кода помещает исполняемый файл в рабочую папку. В Windows исполняемый файл: ex_codegen_dsp.exe. В Linux исполняемый файл ex_codegen_dsp.

Выполнить сгенерированный код

Для запуска созданного кода введите следующую команду в командной строке MATLAB:

!ex_codegen_dsp

При выполнении созданного кода создается MAT-файл, содержащий те же переменные, что и созданные при моделировании модели. Переменные в MAT-файле именуются с префиксом rt_. После запуска созданного кода можно загрузить переменные из MAT-файла, введя следующую команду в подсказке MATLAB:

load ex_codegen_dsp.mat

Теперь можно сравнить переменные из созданного кода с переменными из моделирования модели. Чтобы получить доступ к последнему набору коэффициентов из сгенерированного кода, введите в подсказке MATLAB следующее:

rt_filter_wts(:,:,1201)

Обратите внимание, что коэффициенты в filter_wts(:,:,1201) и rt_filter_wts(:,:,1201) совпадение.

Дополнительные сведения о создании и запуске исполняемого файла см. в разделе Создание кода C для модели (Simulink Coder).

Перенос кода в другую среду разработки

После создания кода из модели Simulink можно переместить код в другую среду разработки с помощью утилиты pack-and-go. Используйте эту утилиту, если в среде разработки нет продуктов MATLAB и Simulink.

Утилита pack-and-go использует инструменты для настройки процесса сборки после создания кода и packNGo Функция (Simulink Coder) для поиска и упаковки файлов для создания исполняемого образа. Файлы упаковываются в сжатый файл, который можно переместить и распаковать с помощью стандартной утилиты zip.

Код можно упаковывать с помощью интерфейса пользователя или интерфейса командной строки. Интерфейс командной строки обеспечивает больший контроль над деталями упаковки кода. Дополнительные сведения о каждом из этих методов см. в разделе Перемещение кода в другую среду разработки (Simulink Coder).

Пример упаковки кода Си и исполняемого файла, созданного из этого примера, см. в разделе Перемещение кода, созданного из модели Simulink, в другую среду разработки.

Связанные темы

Внешние веб-сайты