ZHCUCO7B December   2024  – November 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2性能优化
    1. 2.1 编译器设置
      1. 2.1.1 启用调试和源代码交叉列
      2. 2.1.2 优化控制
      3. 2.1.3 浮点数学
      4. 2.1.4 定点除法
      5. 2.1.5 单精度与双精度浮点
      6. 2.1.6 链接时优化 (LTO)
    2. 2.2 存储器设置
      1. 2.2.1 从 RAM 执行代码
      2. 2.2.2 从闪存执行代码
      3. 2.2.3 数据放置
    3. 2.3 代码结构和配置
      1. 2.3.1 内联
      2. 2.3.2 内联函数
      3. 2.3.3 易失性变量
      4. 2.3.4 函数参数
      5. 2.3.5 启用更广泛的数据访问
      6. 2.3.6 自动代码生成工具
      7. 2.3.7 准确剖析代码
    4. 2.4 应用代码优化
      1. 2.4.1 SDK 优化库
      2. 2.4.2 使用库优化代码尺寸
      3. 2.4.3 C29 特别指令
      4. 2.4.4 C29 并行性
      5. 2.4.5 首选 32 位变量和写入
      6. 2.4.6 编码风格及其对性能的影响
  6. 3参考资料
  7. 4修订历史记录

自动代码生成工具

使用 Mathworks Embedded Coder 等自动代码生成工具进行性能优化是一个重点领域。如需详情,请单击此处

根据配置设置,生成的代码可能包含双精度浮点运算,而当其在仅支持单精度浮点运算的硬件上运行时,可能会导致性能大幅下降。建议用户在生成的代码中查找以下内容:

  • C 代码中任何意外的双精度浮点常量。这些常量可能是未带后缀“f”的浮点数。它们有时也具有特定名称,例如“DBL_EPSILON”。
  • 编译器生成的汇编代码中出现的双精度运算。这些运算可能有特定的名称,例如“CALLD @__extendsfdf2”(双精度乘法)或“CALLD @__muldf3”(双精度乘法)。