Создайте заменяющую библиотеку кода путем определения в регистрационном файле имени библиотеки, заменяющих таблиц кода и другой информации. После того, как вы зададите и укажете свою библиотеку, это становится доступным для генератора кода для замены кода.
В crtool выберите File> Generate registration file.
В диалоговом окне Generate registration file укажите регистрационную информацию. Затем нажмите OK.
Параметр | Описание |
---|---|
(Необходимое) имя реестра | Заменяющее имя библиотеки кода. |
(Необходимый) список таблиц | Список, разделенный запятыми одной или нескольких заменяющих таблиц кода, которые вы хотите в библиотеке. Задайте таблицы при помощи любой их имена (если расположено на пути поиска файлов MATLAB), абсолютные пути или относительные пути. |
Основной CRL | Позволяет вам задать иерархии библиотеки. Обеспечьте имя зарегистрированной библиотеки, чтобы служить основой для библиотеки, которую вы в настоящее время указываете. Например, библиотека устройства TI может быть основой для библиотеки TI C28x. |
Целевое устройство HW | Список, разделенный запятыми одного или нескольких аппаратных устройств, которые поддерживает эта библиотека. Укажите на поддержку всех устройств со звездочкой (*). |
Описание | Описание цели и содержимое библиотеки. |
Сгенерируйте спецификацию выравнивания данных | Отметьте, который включает выравнивание данных. |
Чтобы пользоваться вашей зарегистрированной заменяющей библиотекой кода, обновите свой текущий сеанс работы с 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 может быть основой для библиотеки TI C28x. |
Целевое устройство HW | Список, разделенный запятыми одного или нескольких аппаратных устройств, которые поддерживает эта библиотека. Укажите на поддержку всех устройств со звездочкой (*). |
Описание | Описание цели и содержимое библиотеки. |
Сгенерируйте спецификацию выравнивания данных | Отметьте, который включает выравнивание данных. |
Сохраните файл на своем пути 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