CCS编译优化设置

1.优化等级设置

右键点击工程,选择 【属性 】

CCS12 设置菜单

CCS20 设置菜单

2.CCS 优化设置讲解:

Optimization level (--opt_level, -O)

Speed vs. size trade-offs (--opt_for_speed, -mf)

1. 优化等级 (--opt_level, -O)

这个选项决定了编译器对代码进行"整容"的力度。等级越高,代码跑得越快,但编译时间变长,且调试难度增加。

选项 标志 含义 适用场景 注意事项
无优化 -o0 不进行优化,严格对应源代码行号。 Debug调试阶段。方便打断点、看变量值。 代码运行最慢,体积可能反而较大(因为没压缩)。
基本优化 -o1 简单的优化,如删除死代码、常量折叠。 早期开发阶段。 性能提升有限,但保留了较好的调试信息。
高级优化 -o2 (默认推荐) 循环展开、函数内联、指令调度。 Release发布版。大多数工程的最佳平衡点。 可能会导致部分局部变量在调试时不可见。
全力优化 -o3 激进的优化,包括复杂的算法重组。 高性能要求。针对关键算法(如FOC控制环路)。 极易导致 #10068-D 错误(移除了未引用的段),代码体积变大。
自动/定制 -o4 编译器根据目标芯片特性自动选择最佳策略。 特定高端芯片。 需查阅具体芯片手册确认支持情况。

2. 速度与大小权衡 (--opt_for_speed, -mf)

这个选项告诉编译器:"当代码体积和执行速度发生冲突时,你优先保哪个?"

  • 范围 :通常从 1 到 5
  • --opt_for_speed=1 (-mf1)极致省空间。编译器会极力压缩代码体积,哪怕牺牲运行速度。适用于 Flash 空间极度紧张的老旧芯片。
  • --opt_for_speed=5 (-mf5)极致求速度。编译器会使用更多指令来换取更快的执行流(例如多用寄存器,少用内存访问),这会导致代码体积膨胀。

3. 如何搭配设置

针对项目,建议建立两套配置:

🛠️ Debug 配置 (用于写代码、查Bug)
  • Optimization Level (-o) : -o0 (确保断点准确,变量可见)
  • Speed vs Size (-mf): 默认即可
  • 目的: 此时不要在乎快慢,只要能看清程序怎么跑的就行。
🚀 Release 配置 (用于出货、测试性能)
  • Optimization Level (-o) : -o3 (开启强力优化)
  • Speed vs Size (-mf) : -mf5 (优先速度)

3.优化结果对比

优化配置 代码大小(KB) 字节大小 分析
O3/S0 125 KB 128,568 字节 基础 O3 优化,体积最小。
O3/S1 125 KB 128,568 字节 体积无变化,尺寸优化未生效。
O3/S2 125 KB 128,952 字节 仍保持稳定,未明显膨胀。
O3/S3 130 KB 133,432 字节 转折点:体积开始上升,编译器以空间换时间。
O3/S5 133 KB 136,384 字节 体积最大,理论运行速度最优。
相关推荐
尽兴-20 天前
Elasticsearch 生产集群最佳实践:模板治理、ILM 生命周期与运维体系
java·运维·elasticsearch·容量规划·ccs·分片设计
yutian060625 天前
CCS 20.5.0(CCS Theia) 导入 CCS 12.8.1 之前版本
ccs
yutian06061 个月前
CCS:Code Composer Studio 12.8.1 窗口颜色改为深色
ccs
十六宿舍1 个月前
【雷达编程】Ti车载舱内雷达芯片环境搭建与开发分享
汽车·ti·ccs·座舱雷达·车载雷达
蚂蚁不吃土&4 个月前
CCS6 安装主题Dark
ccs
高旭的旭4 个月前
CCS编译速度优化
ti·环境搭建·ccs
普中科技6 个月前
【普中DSP28335开发攻略】-- 第 9 章 蜂鸣器实验
单片机·嵌入式硬件·蜂鸣器·dsp28335·ccs·普中科技
月光技术杂谈6 个月前
用Deepseek 实现一个基于web的扣图应用
前端·javascript·html5·ccs·tensorflow.js·canvas api
一知半解的大飞6 个月前
TI CCS软件安装
ti·ccs·mspm0·sysconfig工具