Целевая механика разработки работает с несколькими типами папок и файлов. В следующих разделах приведены сведения о разработке настраиваемых целевых объектов, настройке использования папок и использовании настраиваемых целевых объектов в процессе построения.
Можно использовать одну папку для пользовательских целевых файлов или, при необходимости, вложенные папки, например, содержащие файлы, связанные с определенными средами разработки или инструментами.
Для пользовательской целевой реализации рекомендуемые соглашения по именованию папок и файлов:
Используйте только нижний регистр в именах папок, именах файлов и расширениях.
Не встраивайте пробелы в имена папок. Пробелы в именах папок вызывают ошибки во многих средах разработки сторонних производителей.
Включить нужные папки в путь MATLAB ®
Не помещайте пользовательскую целевую папку в дерево папок MATLAB (то есть в или под папка). При размещении папки под matlabrootmatlabroot вы рискуете потерять работу, если установите новую версию MATLAB (или переустановите текущую версию).
В следующих разделах объясняется, как упорядочить целевые папки и файлы и добавить их в путь MATLAB. Они также предоставляют высокоуровневые описания файлов.
В этом документе: mytarget - это имя-заполнитель, представляющее папки и файлы, использующие имя целевого объекта. Имена dev_tool1, dev_tool2и т.д. представляют вложенные папки, содержащие файлы, связанные со средами разработки или инструментами. В этом документе описывается пример структуры папки. mytarget содержит подпапки для mytarget, blocks, dev_tool1, dev_tool2. Папка верхнего уровня mytarget является конечной корневой папкой.
Компоненты пользовательского целевого объекта - это файлы, расположенные в иерархии папок. Папка верхнего уровня в этой структуре называется конечной корневой папкой. Целевая корневая папка и ее содержимое именуются, организуются и располагаются по пути MATLAB в соответствии с соглашениями, описанными в разделе Соглашения по именованию папок и файлов.
Компоненты пользовательского целевого объекта включают:
Компоненты кода: исходный код C, который контролирует и поддерживает выполнение сгенерированного кода модели.
Управляющие файлы:
Системный целевой файл для управления процессом создания кода.
Файлы для управления созданием исполняемого файла из созданного кода. В традиционной среде, основанной на создании, файл макета шаблона (TMF) генерирует файл макета для этой цели. Другой подход заключается в создании файлов проектов в поддержку современной интегрированной среды разработки (IDE), такой как Freescale™ Semiconductor CodeWarrior ® IDE.
Файлы Hook: необязательные файлы программ TLC и MATLAB, которые могут быть вызваны на четко определенных этапах процесса построения. Файлы привязки позволяют настраивать процесс построения и передавать информацию между различными фазами процесса.
Другие целевые файлы: файлы, которые позволяют интегрировать целевой объект в среду MATLAB. Например, можно предоставить info.xml , чтобы сделать библиотеки целевых блоков и примеры доступными из сеанса MATLAB.
В следующих разделах представлены ключевые концепции и терминология, необходимые для разработки каждого компонента. Приводятся ссылки на более подробные источники информации.
Исполняемая программа, содержащая код, созданный из модели Simulink ®, состоит из ряда модулей кода и структур данных. Они подразделяются на две категории: прикладные компоненты и файлы поддержки выполнения.
Компоненты приложения. Прикладными компонентами являются компоненты, специфичные для конкретной модели; они реализуют функции, представленные блоками в модели. Компоненты приложения не являются специфичными для целевого объекта. Компоненты приложения включают
Модули, созданные на основе модели
Пользовательские блоки (S-функции)
Параметры модели, которые являются видимыми и могут быть связаны с внешним кодом
Файлы поддержки выполнения. Ряд модулей кода и структур данных, совместно называемых файлами поддержки выполнения, отвечают за управление и поддержку выполнения сгенерированной программы. Модули файлов поддержки выполнения не создаются автоматически. В зависимости от требований целевого объекта необходимо реализовать определенные части файлов поддержки выполнения. Файлы поддержки выполнения суммируют файлы поддержки выполнения.
Файлы поддержки выполнения
| Вы предоставляете... | Генератор кода обеспечивает... |
|---|---|
Настраиваемая основная программа | Общая основная программа |
Обработчик прерываний таймера для запуска модели | Модуль выполнения и интеграционный решатель (вызывается обработчиком прерываний таймера) |
Другие обработчики прерываний | Примеры обработчиков прерываний (асинхронные блоки прерываний) |
Драйверы устройств | Пример драйверов устройств |
Регистрация данных, настройка параметров, контроль сигналов и поддержка внешнего режима | Регистрация данных, настройка параметров, мониторинг сигналов и API внешнего режима |
Файлы поддержки выполнения, написанные пользователем. Генератор кода предоставляет большинство файлов поддержки выполнения. В зависимости от требований цели необходимо реализовать некоторые или все из следующих элементов:
Подпрограмма обслуживания прерываний таймера (ISR). Таймер работает с базовой частотой дискретизации программы. Таймер ISR отвечает за операции, которые должны быть завершены в течение одного периода синхронизации, например, вычисление текущей выходной выборки. Таймер ISR обычно вызывает rt_OneStep функция.
Если вы нацелены на операционную систему реального времени (RTOS), ваш сгенерированный код обычно выполняется под контролем механизмов синхронизации и управления задачами, предоставляемых RTOS. В этом случае, возможно, не придется реализовывать таймер ISR.
Основная программа. Основная программа инициализирует блоки в модели, устанавливает таймер ISR и выполняет фоновую задачу или цикл. Таймер периодически прерывает основной контур. Если основная программа предназначена для работы в течение ограниченного периода времени, она также отвечает за операции очистки - такие как освобождение памяти и маскирование прерывания таймера - перед завершением программы.
Если вы нацелены на операционную систему реального времени (RTOS), ваша основная программа, скорее всего, порождает задачи (соответствующие частоте выборки, используемой в модели), выполнение которых синхронизировано и контролируется RTOS.
Основная программа обычно основана на сгенерированной или статической основной программе. Дополнительные сведения о структуре файлов поддержки выполнения, выполнении кода и руководстве по настройке основных программ см. в разделе Развертывание созданных автономных исполняемых программ на целевом оборудовании (встроенный кодер).
Драйверы устройств. Драйверы взаимодействуют с устройствами ввода-вывода на целевом оборудовании. В производственном коде драйверы устройств обычно реализуются как встроенные S-функции.
Другие обработчики прерываний. Если модели должны поддерживать асинхронные события, такие как аппаратные генерируемые прерывания и асинхронные операции чтения и записи, необходимо предоставить обработчики прерываний. В библиотеке шаблонов прерываний приведены примеры.
Регистрация данных, настройка параметров, мониторинг сигналов и поддержка внешнего режима. Нетипично внедрять функции быстрого прототипирования, такие как поддержка внешнего режима во встроенной цели. Однако эти функции можно поддерживать с помощью стандартных API-интерфейсов генератора кода. Для получения дополнительной информации см. раздел Калибровка и измерение.
Процесс генерации и построения кода управляется рядом файлов TLC и MATLAB, совместно называемых файлами управления. В этом разделе представлены и обобщены основные управляющие файлы.
Управляющий файл верхнего уровня (make_rtw). Процесс построения инициируется при нажатии клавиш Ctrl + B. На этом этапе процесс построения анализирует поле Make command панели Code Generation диалогового окна Configuration Parameters, ожидая найти имя команды MATLAB, которая управляет процессом построения (а также необязательные аргументы для этой команды). Команда по умолчанию: make_rtw, и файл управления верхнего уровня по умолчанию для процесса построения make_rtw.m.
Примечание
make_rtw - внутренняя команда MATLAB, используемая процессом построения. Как правило, целевые разработчики не нуждаются в подробных знаниях о том, как make_rtw работает. (Подробные сведения о целевых разработчиках описаны в разделе Целевая разработка и процесс построения.) Не следует вызывать make_rtw непосредственно из кода MATLAB, и не следует настраивать make_rtw.m.
make_rtw.m содержит логику, необходимую для выполнения целевых управляющих файлов, включая ряд точек подключения для выполнения пользовательского кода. make_rtw выполняет следующее:
Передает необязательные аргументы в процесс построения
Выполняет необходимую предварительную обработку перед созданием кода
Выполнение системного целевого файла для создания кода (и дополнительной генерации HTML-отчета)
Обрабатывает TMF для создания make-файла
Вызывает утилиту make для выполнения make-файла и построения исполняемого файла
Выполняет необходимую последующую обработку (например, создание файлов калибровочных данных или загрузка созданного исполняемого файла в целевой объект)
Системный целевой файл. Компилятор целевого языка (TLC) генерирует целевой код C или C++ из частичного описания вашей блок-схемы Simulink (). Компилятор целевого языка читает model.rtw и выполняет программу, состоящую из нескольких целевых файлов (model.rtw.tlc файлы.) Системный целевой файл на верхнем уровне этой программы управляет процессом создания кода. Результатом этого процесса является ряд исходных файлов, которые поступают в утилиту создания системы разработки.
Необходимо создать настраиваемый системный целевой файл, чтобы задать параметры генерации кода для целевого файла. Необходимо скопировать, переименовать и изменить стандартный целевой файл системы ERT ().matlabroot/rtw/c/ert/ert.tlc
Подробная структура целевого системного файла описана в разделе Настройка целевых системных файлов.
Примечание
Системный целевой файл определяет, поддерживает ли целевой файл подход к цепочке инструментов или подход к шаблону makefile для создания кода. См. раздел Настройка системных целевых файлов.
Makefile шаблона (TMF). TMF предоставляет информацию о модели и системе разработки. Эта информация используется в процессе построения для создания make-файла (.mk файл), который создает исполняемую программу.
Некоторые целевые объекты реализуют несколько TMF, чтобы поддерживать несколько сред разработки (например, два или более кросс-компиляторов) или несколько режимов генерации кода (например, генерация двоичного исполняемого файла по сравнению с генерацией файла проекта для компилятора).
Программное обеспечение Embedded Coder ® предоставляет большое количество файлов TMF, подходящих для различных типов компьютерных систем разработки. Эти TMF расположены в. Стандартные TMF описаны в разделах Makefiles и Make Options.matlabroot/toolbox/coder/compile/tmf
Подробная структура TMF описана в разделе Настройка Makefiles шаблонов.
Примечание
Системный целевой файл определяет, поддерживает ли целевой файл подход к цепочке инструментов или подход к шаблону makefile для создания кода. См. раздел Настройка системных целевых файлов.
Файлы Hook. Процесс сборки позволяет предоставить дополнительные файлы hook, которые выполняются в указанных точках в процессе создания кода и создания. Файлы привязки можно использовать для добавления в процесс построения действий, специфичных для цели.
Файлы hook должны соответствовать определенным требованиям к именованию и расположению. Соглашения по именованию папок и файлов описывают эти требования.
Эта папка содержит ключевые подпапки для целевого объекта (см. Соглашения по именованию папок и файлов). Также можно найти различные файлы (например, readme файл) в целевой корневой папке. В следующих разделах описываются обязательные и необязательные подпапки и их содержимое.
Эта папка содержит файлы, которые являются центральными для целевого файла, такие как системный целевой файл (STF) и файл шаблона (TMF). Ключевые файлы в целевой папке (mytarget/mytarget) суммируют файлы, которые должны храниться в mytarget/mytargetи предоставляет указатели на подробные сведения об этих файлах.
Примечание
mytarget/mytarget должен находиться в пути MATLAB.
Если конечный объект содержит драйверы устройств или другие блоки, найдите файлы реализации блоков в этой папке. mytarget/blocks содержит
Скомпилированный блок MEX-файлов
Исходный код блоков
Файлы встраивания TLC для блоков
Библиотечные модели для блоков (при наличии блоков в одной или нескольких библиотеках)
Примечание
mytarget/blocks должен находиться в пути MATLAB.
Можно также хранить модели примеров и вспомогательные файлы в mytarget/blocks. Кроме того, можно создать mytarget/mytargetdemos , которая также должна находиться в пути MATLAB.
Для отображения блоков в стандартном браузере библиотеки Simulink и/или интеграции примерных моделей в среду сессии MATLAB можно создать описанные ниже файлы и сохранить их в mytarget/blocks.
mytarget/blocks/slblocks.m. Этот файл позволяет интегрировать группу блоков в библиотеку Simulink и браузер библиотеки Simulink.
function blkStruct = slblocks
% Information for "Blocksets and Toolboxes" subsystem
blkStruct.Name = sprintf('Embedded Target\n for MYTARGET');
blkStruct.OpenFcn = 'mytargetlib';
blkStruct.MaskDisplay = 'disp(''MYTARGET'')';
% Information for Simulink Library Browser
Browser(1).Library = 'mytargetlib';
Browser(1).Name = 'Embedded Target for MYTARGET';
Browser(1).IsFlat = 1;% Is this library "flat" (i.e. no subsystems)?
blkStruct.Browser = Browser;mytarget/blocks/demos.xml. В этом файле содержится информация о компонентах, организации и расположении моделей примеров. Программное обеспечение MATLAB использует эту информацию для размещения примера в среде сеанса MATLAB.
<?xml version="1.0" encoding="utf-8"?>
<demos>
<name>Embedded Target for MYTARGET</name>
<type>simulink</type>
<icon>$toolbox/matlab/icons/boardicon.gif</icon>
<description source = "file">mytarget_overview.html</description>
<demosection>
<label>Multirate model</label>
<demoitem>
<label>MYTARGET demo</label>
<file>mytarget_overview.html</file>
<callback>mytarget_model</callback>
</demoitem>
</demosection>
</demos>Эти папки содержат файлы, связанные с определенными средами разработки или инструментами (dev_tool1, dev_tool2и т.д.). Обычно цель поддерживает по крайней мере одну такую среду разработки и вызывает ее компилятор, компоновщик и другие утилиты в процессе построения. mytarget/dev_tool1 включает в себя файлы команд компоновщика, код запуска, функции захвата и другие файлы, необходимые для поддержки этого процесса.
Для каждой среды разработки необходимо создать отдельную папку.
Эта папка является необязательной. Если сложность цели требует этого, можно использовать mytarget/src для хранения общего исходного кода и кода конфигурации (например, кода загрузки и кода запуска).
Целевая папка mytarget/mytarget содержит ключевые файлы в целевой реализации. К ним относятся системный целевой файл, файл создания шаблона, основной программный модуль, а также необязательные файлы обработчиков M и TLC, которые позволяют добавлять в процесс построения действия, специфичные для целевого объекта. В следующих разделах описываются файлы ключевых целевых папок.
mytarget.tlc является системным целевым файлом. Функции целевого файла системы включают:
Отображение целевого объекта в обозревателе системных файлов
Определение опций генерации кода для цели (наследуемой и специфичной для цели)
Обеспечение точки входа для верхнего уровня управления процессом генерации кода TLC
Вы должны основать системный целевой файл на ert.tlc, системный целевой файл, предоставляемый программным обеспечением Embedded Coder.
Настройка системных целевых файлов (Customize System Target Files) содержит подробную информацию о структуре системного целевого файла, а также инструкции по настройке системного целевого файла для
Отображение целевого файла в обозревателе системных файлов
Добавьте собственные целевые опции в диалоговое окно Параметры конфигурации (Configuration Parameters).
Адаптируйте процесс создания и сборки кода к требованиям целевой системы
mytarget.tmf является файлом макета шаблона для создания исполняемого файла для целевого объекта.
Основные сведения о структуре и работе makefile шаблонов см. в разделе Настройка Makefiles шаблонов.
Этот файл является необязательным. mytarget_genfiles.tlc полезен в качестве файла хранилища, из которого можно вызывать целевые файлы TLC, генерирующие дополнительные файлы в процессе сборки. Например, конечный объект может создавать вложенные файлы или файлы проектов для среды разработки или сценарии команд для отладчика для автоматической загрузки. Дополнительные сведения см. в разделе Использование mytarget_genfiles.tlc.
Для цели требуется основной программный модуль. Для предоставления основного модуля можно выполнить одно из следующих действий:
Изменение rt_main.c или rt_cppclass_main.cpp модуль, поставляемый программным обеспечением
Произвести mytarget_main.c или .cpp во время процесса построения
Описание работы основных программ см. в разделе Развертывание созданных автономных исполняемых программ на целевом оборудовании (встроенный кодер). В этом разделе также содержатся рекомендации по созданию и изменению основного программного модуля.
является необязательным файлом захвата, который можно использовать для вызова целевых функций или исполняемых файлов в указанных точках процесса построения. STF_make_rtw_hook.m реализует функцию, которая отправляется определенному действию в зависимости от STF_make_rtw_hook.mmethod аргумент, который передается в него.
Настройка процесса построения с помощью STF_make_rtw_hook File описывает работу hook file подробно.STF_make_rtw_hook.m
До выпуска 14 пользовательские целевые объекты предоставляли информацию о целевом объекте с файлом «hook» (именуемым ). STF_rtw_info_hook.m указанные свойства, такие как размеры слов для целочисленных типов данных (например, STF_rtw_info_hookchar, short, int, и long) и специфичные для реализации C свойства настраиваемого целевого объекта.
механизм был заменен панелью Hardware Implementation диалогового окна Configuration Parameters. С помощью этого диалогового окна можно указать свойства, которые ранее были указаны в STF_rtw_info_hook файл.STF_rtw_info_hook
Для обратной совместимости, существующий файлы по-прежнему доступны. Однако для использования панели «Внедрение оборудования» необходимо преобразовать целевые объекты и модели. См. раздел Настройка параметров среды выполнения.STF_rtw_info_hook
Этот файл предоставляет информацию для программного обеспечения MATLAB, которая указывает, где отображать целевую панель инструментов в среде сеанса MATLAB. Дополнительные сведения см. в разделе Отображение пользовательской документации.
По соглашению этот файл служит домашней страницей для целевых примеров.
<description> поле в demos.xml должен указывать на mytarget_overview.html (см. mytarget/blocks/demos.xml).
Пример файла mytarget_overview.html
<html> <head><title>Embedded Target for MYTARGET</title></head><body> <p style="color:#990000; font-weight:bold; font-size:x-large">Embedded Target for MYTARGET Example Model</p> <p>This example provides a simple model that allows you to generate an executable for a supported target board. You can then download and run the executable and set breakpoints to study and monitor the execution behavior.</p> </body> </html>
Если вы разрабатываете встроенный целевой объект, который не установлен в дереве MATLAB, вы должны предоставить целевой сценарий настройки и целевую документацию в mytarget/mytarget, для удобства пользователей. В следующих разделах описываются необходимые материалы и их размещение.
Этот файловый сценарий добавляет пути для целевого объекта в путь MATLAB. Ваша документация должна указывать пользователям на выполнение сценария при установке целевого объекта.
Необходимо включить вызов функции MATLAB. savepath в вашем mytarget_setup.m сценарий. Эта функция сохраняет добавленные пути, поэтому пользователям необходимо выполнять mytarget_setup.m только один раз.
Следующий код является примером mytarget_setup.m файл.
function mytarget_setup()
curpath = pwd;
tgtpath = curpath(1:end-length('\mytarget'));
addpath(fullfile(tgtpath, 'mytarget'));
addpath(fullfile(tgtpath, 'dev_tool1'));
addpath(fullfile(tgtpath, 'blocks'));
addpath(fullfile(tgtpath, 'mytargetdemos'));
savepath;
disp('MYTARGET Target Path Setup Complete.');Необходимо поместить документацию, связанную с целевым объектом, в папку mytarget/mytarget/doc.
Для разработки встроенной цели необходимо глубокое понимание процесса сборки. Внедренный конечный объект использует процесс построения и может потребовать изменения или настройки процесса. Общий обзор создания кода и процесса сборки приведен в разделах Создание кода и процесс сборки.
Этот раздел дополняет этот обзор описанием процесса сборки в соответствии с настройками программного обеспечения Embedded Coder. Акцент делается на точках в процессе, где доступны крючки настройки, и на передаче информации между различными этапами процесса.
В конце этого раздела приводятся дополнительные методы передачи информации, описывающие различные советы и рекомендации по передаче информации в процессе построения.
Важно понимать, где (и когда) процесс построения получает необходимую информацию. Источники информации включают:
, который предоставляет информацию о генерирующей модели. Информация в model.rtw доступен для целевых файлов TLC.model.rtw
Области создания кода диалогового окна «Параметры конфигурации». Опции (как общие, так и целевые) предоставляются с помощью флажков, меню и полей редактирования. Параметры можно связать с переменными TLC в rtwoptions структура данных. Используйте поле Параметры конфигурации > Создание кода > Пользовательский код > Дополнительные сведения о построении > Определение маркеров makefile.
Выбранная цепочка инструментов (для построения подхода к цепочке инструментов) или файл макета выбранного шаблона .tmf (для построения шаблона makefile); они генерируют специфичный для модели файл макета.
Переменные среды на хост-компьютере. Переменные среды предоставляют дополнительную информацию об установленных средствах разработки.
Другие целевые файлы, такие как связанные с целевым объектом файлы TLC, файлы команд компоновщика или файлы проекта.
Также важно понимать несколько фаз процесса построения и способы передачи информации между фазами. Процесс построения включает несколько этапов высокого уровня:
Выполнение файла верхнего уровня (slbuild.m), чтобы упорядочить процесс построения для целевого объекта
Преобразование модели во входной файл TLC ()model.rtw
Создание целевого кода компилятором TLC
Компиляция сгенерированного кода с помощью make или другие утилиты
Передача конечного созданного исполняемого файла на целевое оборудование с помощью отладчика или утилиты загрузки
Полезно рассматривать каждый этап процесса как отдельную «среду», в которой хранятся собственные данные. Эти среды включают
Среда выполнения кода MATLAB (MATLAB)
Simulink
Среда выполнения компилятора целевого языка
makefile
Среды разработки, например, IDE или отладчик
В каждой среде можно получить информацию из различных источников, упомянутых выше. Например, во время фазы TLC может выполняться выполнение файла MATLAB для получения информации из среды MATLAB. Кроме того, данная фаза может генерировать информацию для последующей фазы.
См. раздел Ключевые файлы в целевой папке (mytarget/mytarget) для получения подробной информации о доступных файлах MATLAB и переходах TLC для передачи информации с примерами кода.
В этом разделе описывается ряд полезных методов передачи информации между различными этапами процесса построения.
tlcvariable Field в rtwoptions Structure. Параметры на панелях генерации кода диалогового окна Configuration Parameters могут быть связаны с переменной TLC и указаны в tlcvariable поле записи опции в rtwoptions структура. Значение переменной передается в командной строке при вызове TLC. Это позволяет сделать параметры генерации кода и их значения доступными на фазе TLC.
Дополнительные сведения см. в разделе Структура целевого файла системы.
изменяемое поле в rtwoptions Structure. Параметры создания кода можно связать с маркером makefile шаблона, указанным в makevariable поле записи опции в rtwoptions структура. Если маркер имеет то же имя, что и makevariable существует в TMF, маркер обновляется значением опции при создании окончательного make-файла. Если маркер не существует в TMF, makevariable передается в командной строке при вызове команды make. Таким образом, в любом случае makevariable доступен для make-файла.
Дополнительные сведения см. в разделе Структура целевого файла системы.
Доступ к переменным среды хоста. Для доступа к переменным среды оболочки хоста в командной строке MATLAB введите getenv команда. Например:
getenv ('MSDEVDIR')
ans =
D:\Applications\Microsoft Visual Studio\Common\MSDev98Для доступа к той же информации из TLC используйте FEVAL директива для вызова getenv.
%assign eVar = FEVAL("getenv","<varname>")Предоставление информации об среде разработки в шаблон Makefile. Внедренный конечный объект должен связать процесс построения с целевыми средствами разработки, установленными на хост-компьютере. Для запуска этих средств TMF должен иметь возможность определять имя инструментов, путь к компилятору, компоновщику и другим утилитам, а также, возможно, параметры переменных среды операционной системы хоста.
Требовать от конечного пользователя изменения целевого TMF. Пользователь вводит информацию о пути (например, местоположение исполняемого файла компилятора) и, возможно, переменные среды операционной системы хоста в качестве переменных. Это позволяет адаптировать TMF к конкретным потребностям.
Использование данных приложения MATLAB. Данные приложения позволяют приложениям сохранять и извлекать данные, сохраненные с помощью графического интерфейса пользователя. Этот метод позволяет создать определяемое пользователем свойство для объекта и использовать это свойство для хранения данных для использования в процессе построения. Если этот метод создания графических пользовательских интерфейсов неизвестен, см. раздел Сохранение данных как данных приложения.
Следующие примеры кода иллюстрируют использование данных приложения для передачи информации в TLC.
Этот файл, tlc2appdata.m, хранит data переданные как данные приложения под именем переданные (appDataName).
function k = tlc2appdata(appDataName,data) disp([mfilename,': ',appDataName,' ', data]); setappdata(0,appDataName,data); k = 0; % TLC expects a return value for FEVAL.
В следующем примере файла TLC используется FEVAL директива для вызова tlc2appdata.m для хранения произвольных данных приложения под именем z80.
%% test.tlc
%%
%assign myApp = "z80"
%assign myData = "314159"
%assign dummy = FEVAL("tlc2appdata",myApp,myData)Для проверки этого метода:
Создать tlc2appdata.m как показано на рисунке. Проверьте, что tlc2appdata.m хранится в папке по пути MATLAB.
Создайте файл TLC, как показано на рисунке. Сохранить как test.tlc.
Введите следующую команду в приглашении MATLAB для выполнения файла TLC:
tlc test.tlc
Получите данные приложения по запросу MATLAB:
k = getappdata(0,'z80')
Функция возвращает значение 314159.
Введите следующую команду.
who
Обратите внимание, что данные приложения не хранятся в рабочей области MATLAB. Также обратите внимание, что данные z80 не видны. Использование данных приложения таким образом имеет то преимущество, что оно не загромождает рабочую область MATLAB. Кроме того, это предотвращает случайное удаление данных, поскольку они не хранятся непосредственно в рабочей области.
Реальное использование данных приложений может заключаться в сборе информации из и сохраните его для последующего использования в процессе построения.model.rtw
Добавление информации о блоках в Makefile. rtwmakecfg механизм обеспечивает способ для встроенных S-функций, таких как блоки драйверов, для добавления информации в make-файл. Этот механизм описан в разделе Использование API rtwmakecfg.m для настройки сгенерированных Makefiles.