Проверьте библиотеку замещения кода, изучив ее структуру, замену и эффективность. Чтобы проверить структуру библиотеки, используйте средство просмотра замещения кода (crviewer). Используйте отчет о замене кода для проверки замен, выполненных библиотекой в сгенерированном коде. Еще раз используйте crviewer, чтобы проверить эффективность вашей библиотеки во время генерации кода, исследуя хит замены и пропустив журналы.
Используйте Code Replacement Viewer (crviewer), чтобы открыть и просмотреть структуру библиотеки замещения кода путем изучения ее таблиц и записей таблицы.
Из командной строки MATLAB откройте библиотеку замещения кода с помощью crviewer с командой:
>> crviewer('library')
Средство просмотра открывает библиотеку замещения кода и показывает таблицы замещения кода на левой панели. Убедитесь, что библиотека перечисляет все требуемые таблицы в правильном относительном порядке.
Откройте и просмотрите записи для каждой таблицы замещения кода. В crtool щелкните каждую таблицу в списке на левой панели, чтобы просмотреть ее записи на средней панели.
Если вы не используете crviewer, можно открыть каждую таблицу непосредственно из командной строки MATLAB с помощью команды:
crviewer(table)
Для каждой таблицы в библиотеке убедитесь, что в ней перечислены все требуемые значения в правильном относительном порядке. Проверьте, что концептуальное представление и представление реализации верны для каждой записи в таблице.
Используйте Отчет о замене кода, чтобы убедиться, что, когда генератор кода использует библиотеку замены кода, он создает замены, как и ожидалось в сгенерированном коде. Для каждого образца замены Отчет о замене кода обеспечивает отображение между блоком Simulink, который инициировал замену, и ее реализацией в сгенерированном коде. Используйте это отображение для проверки правильности замены кода путем трассировки между отчетом и кодом в любом направлении (от отчета к коду или кода к отчету).
Чтобы сгенерировать отчет о замене кода:
Сконфигурируйте модель, чтобы использовать библиотеку замены кода.
Сконфигурируйте модель, чтобы открыть отчет генерации кода. Отчет о замене кода является вкладкой в этом отчете. В диалоговом окне Model Configuration Parameters, на панели Code Generation > Report, выберите:
Create code generation report
Open report automatically
Model-to-code
Summarize which block triggered code replacements
Сконфигурируйте сгенерированный код для включения комментариев. В диалоговом окне Model Configuration Parameters, на панели Code Generation > Comments, выберите:
Include comments
Одно или оба из Simulink block comments и Simulink block descriptions
Создайте свою модель, чтобы сгенерировать код только. Отчет генерации кода открывается автоматически. На левой панели щелкните, чтобы открыть отчет о замене кода.
Проверьте, что замена кода происходит должным образом.
Navigate from report to model: В отчете о замене кода щелкните каждую блок ссылку, чтобы увидеть источник, который инициировал замену.
Navigate from model to report: В окне модели Simulink используйте подсветку модели к коду, чтобы проследить замену кода. Щелкните правой кнопкой мыши блоки, в которых вы ожидали замены кода и выберите C/C++ Code > Navigate to C/C++ Code. Появится отчет с выделенным кодом замены.
Проверьте эффективность библиотеки замещения кода путем изучения попаданий и пропусков, которые произошли во время генерации кода с помощью библиотеки. Во время генерации кода, когда генератор кода находит совпадение для замены кода из библиотеки замены кода, он регистрирует удар в кэше hit. Когда он не находит соответствие замещения кода, он регистрирует неудачную попытку в кэше ошибок. Каждый раз, когда вы генерируете код, генератор кода перезаписывает свой предыдущий хит и пропускает журналы кэша.
Чтобы просмотреть информацию трассировки из данных кэша hit and miss, используйте Code Replacement Viewer (crviewer). Из кэша hit можно идентифицировать, когда успешно произошла замена кода, а из кэша miss можно решить проблему, когда замена кода не состоялась. Информация трассировки кэша пропуска предоставляет вам информацию о причине промаха, ссылку на соответствующее исходное местоположение для промаха и объект сайта вызова промаха. Для получения дополнительной информации смотрите Поиск и устранение ошибок замещения кода.