После того, как вы задаете заменяющие записи кода и указываете информацию сборки в заменяющей таблице кода, можно включать таблицу в заменяющую библиотеку кода, которую вы указываете с генератором кода. Когда указано, библиотека появляется в списке доступных заменяющих библиотек кода, из которых можно выбрать при конфигурировании генератора кода.
Укажите заменяющую таблицу кода как заменяющую библиотеку кода:
В интерактивном режиме, при помощи Заменяющего Инструмента Кода
Программно, при помощи интерфейса программирования MATLAB®
В следующей таблице перечислены ситуации, чтобы помочь вам решить, когда использовать интерактивный или программируемый подход к созданию регистрационного файла:
Если... | Затем... |
---|---|
Регистрация заменяющей таблицы кода впервые | Используйте заменяющий инструмент кода. |
Вы использовали Заменяющий Инструмент Кода, чтобы составить таблицу | Используйте Заменяющий Инструмент Кода, чтобы быстро указать таблицу. |
Замена быстрого прототипирования кода | Используйте Заменяющий Инструмент Кода, чтобы быстро сгенерировать, указать, и протестировать записи. |
Создание регистрационного файла, чтобы использовать в качестве шаблона или отправной точки для определения подобных регистрационных файлов | Используйте Заменяющий Инструмент Кода, чтобы сгенерировать код, который можно скопировать и изменить. |
Изменение существующих регистрационных файлов | Используйте редактора MATLAB, чтобы обновить регистрационный файл. |
Определение нескольких заменяющих библиотек кода в одном регистрационном файле | Используйте редактора MATLAB, чтобы создать новое или расширить существующий регистрационный файл. |
Определение заменяющей иерархии библиотеки кода в регистрационном файле | Используйте редактора MATLAB, чтобы создать новое или расширить существующий регистрационный файл. |
Инструмент Code Replacement обеспечивает быстрый, простой способ к вам создать регистрационный файл для заменяющей таблицы кода. Это идеально для начала работы, быстрого прототипирования и генерации регистрационного файла, который вы хотите использовать в качестве отправной точки для подобной регистрации.
После того, как вы подтвердите и сохраните заменяющую таблицу кода, выберите File> Generate registration file, чтобы открыть диалоговое окно Generate registration file.
Введите информацию о регистрации. Минимально, задайте:
Для... | Задать... |
---|---|
Registry name | Текст, называющий заменяющую библиотеку кода. Например, Sin Function Example . |
Table list | Текст, называющий одну или несколько заменяющих таблиц кода, чтобы включать в библиотеку. Задайте каждую таблицу как одно из следующего:
Можно задать несколько таблиц. Если вы делаете, разделите табличные спецификации запятой. Например:
Смотрите Регистрационные Файлы, Которые Задают Несколько Заменяющих Библиотек Кода для примеров каждого типа табличной спецификации. |
Опционально, можно задать:
Для... | Задать... |
---|---|
Description | Текст, который описывает цель и содержимое библиотеки. |
Target HW device | Текст, называющий одно или несколько аппаратных устройств заменяющие поддержки библиотеки кода. Разделите имена запятой. Чтобы поддержать все типы устройства, введите звездочку (*). Например, TI C28x, TI C62x . |
Base CRL | Текст, называющий заменяющую библиотеку кода, что вы хотите служить основной библиотекой для библиотеки, которую вы указываете. Используйте это поле, чтобы задать иерархии библиотеки. Например, можно задать общий TI device library как основная библиотека для более определенной библиотеки устройства TI C28x . |
Generate data alignment specification | Отметьте, который включает спецификацию выравнивания данных. |
Интерфейс программирования для создания регистрационного файла для заменяющей таблицы кода идеален для:
Изменение регистрационных файлов создается с Заменяющим Инструментом Кода
Тиражирование и изменение подобных регистрационных файлов
Определение нескольких заменяющих библиотек кода в одном регистрационном файле
Основной рабочий процесс для создания регистрационного файла программно состоит из следующих шагов:
Задайте функцию rtwTargetInfo
. Генератор кода распознает эту функцию файлом настройки. Функциональное определение должно включать, по крайней мере, следующее содержимое:
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); function this = loc_register_crl this(1) = RTW.TflRegistry; this(1).Name = 'crl-name'; this(1).TableList = {'table',...};
Для... | Замена... |
---|---|
| crl-name с текстом, называющим заменяющую библиотеку кода. Например, Sin Function Example . |
|
Можно задать несколько таблиц. Если вы делаете, разделите табличные спецификации запятыми. |
Опционально, можно задать:
Для... | Замена... |
---|---|
| text с текстом, который описывает цель и содержимое библиотеки. |
| device-type с текстом, который называет аппаратное устройство заменяющими поддержками библиотеки кода. Можно задать несколько типов устройства. Отдельное устройство вводит с запятой. Например, TI C28x, TI C62x . Чтобы поддержать все типы устройства, введите звездочку (*). |
|
Смотрите Регистрационные Файлы, Которые Задают Заменяющие Иерархии Библиотеки Кода для примера. |
Например:
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); function this = loc_register_crl this(1) = RTW.TflRegistry; this(1).Name = 'Sin Function Example'; this(1).TableList = {'crl_table_sinfcn'}; this(1).TargetHWDeviceType = {'*'}; this(1).Description = 'Example - sin function replacement';
Сохраните файл с именем rtwTargetInfo.m
.
Поместите файл в путь MATLAB. Когда файл находится на пути MATLAB, генератор кода читает файл после запуска и применяет индивидуальные настройки во время текущего сеанса работы с MATLAB.
Прежде чем можно будет использовать заменяющие таблицы кода, заданные в регистрационном файле, обновить индивидуальные настройки Simulink® в текущем сеансе работы с MATLAB. Чтобы инициировать обновление, введите следующую команду:
sl_refresh_customizations
Используйте интерфейс программирования, чтобы создать регистрационный файл, который задает заменяющую библиотеку кода, которая включает несколько заменяющих таблиц кода. Следующий пример задает библиотеку, которая включает несколько таблиц. Поля TableList
задают таблицы, которые находятся в других местах. Таблицы находятся на пути поиска файлов MATLAB или в местоположениях, заданных с путем.
function rtwTargetInfo(cm) cm.registerTargetInfo(@locCrlRegFcn); function thisCrl = locCrlRegFcn % Register a code replacement library for use with model: rtwdemo_crladdsub thisCrl(1) = RTW.TflRegistry; thisCrl(1).Name = 'Addition & Subtraction Examples'; thisCrl(1).Description = 'Example of addition/subtraction op replacement'; thisCrl(1).TableList = {'crl_table_addsub'}; thisCrl(1).TargetHWDeviceType = {'*'}; % Register a code replacement library for use with model: rtwdemo_crlmuldiv thisCrl(2) = RTW.TflRegistry; thisCrl(2).Name = 'Multiplication & Division Examples'; thisCrl(2).Description = 'Example of mult/div op repl for built-in integers'; thisCrl(2).TableList = {'c:/work_crl/crl_table_muldiv'}; thisCrl(2).TargetHWDeviceType = {'*'}; % Register a code replacement library for use with model: rtwdemo_crlfixpt thisCrl(3) = RTW.TflRegistry; thisCrl(3).Name = 'Fixed-Point Examples'; thisCrl(3).Description = 'Example of fixed-point operator replacement'; thisCrl(3).TableList = {fullfile('$(MATLAB_ROOT)', ... 'toolbox','rtw','rtwdemos','crl_demo','crl_table_fixpt')}; thisCrl(3).TargetHWDeviceType = {'*'};
Используя интерфейс программирования, можно организовать несколько заменяющих библиотек кода в иерархии. Следующий пример показывает регистрационный файл, который задает четыре заменяющих таблицы кода, организованные в иерархии четырех заменяющих библиотек кода. Таблицы включают записи, которые увеличиваются в специфике: общие записи, записи для устройств TI, записи для устройств TI C6xx и записи, характерные для устройства TI C67x.
function rtwTargetInfo(cm) cm.registerTargetInfo(@locCrlRegFcn); function thisCrl = locCrlRegFcn % Register a code replacement library that includes common entries thisCrl(1) = RTW.TflRegistry; thisCrl(1).Name = 'Common Replacements'; thisCrl(1).Description = 'Common code replacement entries shared by other libraries'; thisCrl(1).TableList = {'crl_table_general'}; thisCrl(1).TargetHWDeviceType = {'*'}; % Register a code replacement library for TI devices thisCrl(2) = RTW.TflRegistry; thisCrl(2).Name = 'TI Device Replacements'; thisCrl(2).Description = 'Code replacement entries shared across TI devices'; thisCrl(2).TableList = {'crl_table_TI_devices'}; thisCrl(2).TargetHWDeviceType = {'TI C28x', 'TI C55x', 'TI C62x', 'TI C64x', 'TI 67x'}; thisCrl(2).BaseTfl = 'Common Replacements'; % Register a code replacement library for TI c6xx devices thisCrl(3) = RTW.TflRegistry; thisCrl(3).Name = 'TI c6xx Device Replacements'; thisCrl(3).Description = 'Code replacement entries shared across TI C6xx devices'; thisCrl(3).TableList = {'crl_table_TIC6xx_devices'}; thisCrl(3).TargetHWDeviceType = {'TI C62x', 'TI C64x', 'TI 67x'}; thisCrl(3).BaseTfl = 'TI Device Replacements'; % Register a code replacement library for the TI c67x device thisCrl(4) = RTW.TflRegistry; thisCrl(4).Name = 'TI c67x Device Replacements'; thisCrl(4).Description = 'Code replacement entries for the TI C67x device'; thisCrl(4).TableList = {'crl_table_TIC67x_device'}; thisCrl(4).TargetHWDeviceType = {'TI 67x'}; thisCrl(4).BaseTfl = 'TI c6xx Device Replacements';
После регистрации ваших заменяющих отображений кода проверьте, что замены кода происходят.