ZHCAE84A July   2024  – November 2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 入门
  5. 2eCompressor 基于模型的设计
    1. 2.1 通用德州仪器 (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总结
  9. 6修订历史记录

最佳代码生成

中展示的配置可以通过在 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
注: 在上面的代码块中,将模型名称替换为使用中的应用模型名称,并在执行应用模型的代码生成之前运行脚本,以包含所有优化的配置。