ZHCAE84 July   2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 入门
  5. 2eCompressor 基于模型的设计
    1. 2.1 通用米6体育平台手机版_好二三四 (TI) 高压评估模块 (TI HV EVM) 用户安全指南
    2. 2.2 方框图
    3. 2.3 硬件、软件和测试要求
      1. 2.3.1 硬件设置
      2. 2.3.2 软件设置
      3. 2.3.3 测试过程
  6. 3 Simulink 配置设置
    1. 3.1 Simulink 工具优化
      1. 3.1.1 最佳代码生成
    2. 3.2 C2000 专用优化
      1. 3.2.1 通过 Simulink 使用 TMU
      2. 3.2.2 通过 Simulink 使用软件库
      3. 3.2.3 从 RAM 运行代码
    3. 3.3 性能比较
  7. 4 使用 Simulink 进行性能分析
    1. 4.1 处理器在环 (PIL) 方法
    2. 4.2 基于 C2000 计时器的性能分析
    3. 4.3 Code Composer Studio 工具
  8. 5总结

最佳代码生成

中展示的配置可以通过在 Simulink 的 Hardware Settings 中配置每个参数来手动配置。为了避免手动操作,MATLAB 还允许通过 MATLAB 脚本在 Simulink 中配置设置。

优化的代码生成配置也可以通过脚本轻松解析,方法是在现有模型中包含脚本,或者直接在运行应用代码之前运行一次脚本来配置所有设置。脚本中的参数“mdl”需要反映所用模型的名称,才能正确配置设置。如果配置了这些设置,则可以通过在 Simulink 窗口中手动检查 Hardware Settings 中的配置来验证这些设置。

%% Load the model
mdl = 'TIDM_02012_F280039_MBD';%Model Name
load_system(mdl);

%% Set Build Configurations and Prioritized Objectives in Code Generation tab
set_param(mdl,'BuildConfiguration','Faster Runs') ; %Build Configurations
set_param(mdl,'ObjectivePriorities','Execution efficiency');  %Prioritized Objectives
%% Set Level, Priority in Optimization levels and enable some advanced Parameters in Optimization tab
set_param(mdl,'OptimizationPriority','speed');%Optimization Priority

set_param(mdl,"OptimizationCustomize","off");%Customize Optimizations Checkbox
%% TODO: Check -- updated Code Config > Optimization > default parameter behaviour to inlined instead of tunable to make the below config work
set_param(mdl,"InlineInvariantSignals","on");%Inline Invariant Signals
set_param(mdl,"EfficientMapNaN2IntZero","on");% Removes code from float to int with saturation mapping NaN to zero.
%%  Remove support for non-finite, complex and absolute time Interface tab
set_param(mdl,"SupportAbsoluteTime","off");%Remove Absolute time support
set_param(mdl,"SupportComplex","off");%Remove Complex Number support
set_param(mdl,"SupportNonFinite","off");%Remove Non-Finite Number support
%% Application Lifetime setting
set_param(mdl,"LifeSpan","1");%Remove Absolute time support
注: 在上面的代码块中,将模型名称替换为使用中的应用模型名称,并在执行应用模型的代码生成之前运行脚本,以包含所有优化的配置。