Создайте библиотеку замены кода, определив в файле регистрации имя библиотеки, таблицы замены кода и другую информацию. После определения и регистрации библиотеки она становится доступной генератору кода для замены кода.
В диалоговом окне выберите «Файл» > «Создать файл регистрации».

В диалоговом окне «Создание файла регистрации» укажите сведения о регистрации. Затем нажмите кнопку ОК.
| Параметр | Описание |
|---|---|
| Имя реестра (обязательно) | Имя библиотеки замены кода. |
| Список таблиц (обязательно) | Разделенный запятыми список одной или нескольких таблиц замены кода, которые требуется поместить в библиотеку. Укажите таблицы, используя их имена (если они расположены на пути поиска MATLAB), абсолютные пути или относительные пути. |
| Базовый CRL | Позволяет задать иерархии библиотек. Укажите имя зарегистрированной библиотеки, которая будет служить основой для регистрируемой библиотеки. Например, библиотека устройств TI может быть основой для библиотеки C28x TI. |
| Оконечное аппаратное устройство | Разделенный запятыми список одного или нескольких устройств, поддерживаемых этой библиотекой. Обозначьте поддержку всех устройств звездочкой (*). |
| Описание | Описание назначения и содержания библиотеки. |
| Создание спецификации выравнивания данных | Флаг, разрешающий выравнивание данных. |
Чтобы использовать зарегистрированную библиотеку замены кода, обновите текущий сеанс MATLAB с помощью команды:
>> sl_refresh_customizations
Откройте файл функции MATLAB. В меню MATLAB выберите Создать (New) > Функция (Function).
Сохраните файл функции с именем rtwTargetInfo.m.
Скопируйте и вставьте следующий код в файл, чтобы использовать его в качестве шаблона.
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); end function this = loc_register_crl this(1) = RTW.TflRegistry; %instantiates a registration entry this(1).Name = 'Example Code Replacement Library'; this(1).TableList = {'example_code_replacement_table.m'}; this(1).TargetHWDeviceType = {'*'}; this(1).Description = 'This registers an example library'; end
В шаблоне укажите следующую регистрационную информацию:
| Параметр | Описание |
|---|---|
| Имя реестра (обязательно) | Имя библиотеки замены кода. |
| Список таблиц (обязательно) | Разделенный запятыми список одной или нескольких таблиц замены кода, которые требуется поместить в библиотеку. Укажите таблицы, используя их имена (если они расположены на пути поиска MATLAB), абсолютные пути или относительные пути. |
| Базовый CRL | Позволяет задать иерархии библиотек. Укажите имя зарегистрированной библиотеки, которая будет служить основой для регистрируемой библиотеки. Например, библиотека устройств TI может быть основой для библиотеки C28x TI. |
| Оконечное аппаратное устройство | Разделенный запятыми список одного или нескольких устройств, поддерживаемых этой библиотекой. Обозначьте поддержку всех устройств звездочкой (*). |
| Описание | Описание назначения и содержания библиотеки. |
| Создание спецификации выравнивания данных | Флаг, разрешающий выравнивание данных. |
Сохраните файл по пути MATLAB.
Чтобы использовать зарегистрированную библиотеку замены кода, обновите текущий сеанс MATLAB с помощью команды:
>> sl_refresh_customizations
Зарегистрировать одну библиотеку замены кода
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); end function this = loc_register_crl this(1) = RTW.TflRegistry; %instantiates a registration entry this(1).Name = 'Example Code Replacement Library'; this(1).TableList = {'example_code_replacement_table.m'}; this(1).TargetHWDeviceType = {'*'}; this(1).Description = 'This registers an example library'; end
Регистрация нескольких библиотек замены кода
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); end function thisCRL = loc_register_crl % 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 = {'*'}; end
Регистрация иерархии замены кода
function rtwTargetInfo(cm) cm.registerTargetInfo(@loc_register_crl); end function thisCRL = loc_register_crl % 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(1).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'}; % 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'}; end