[原创] 【MSP430 编译器使用经验】-使用CCS优化msp430的设计与编译

mars4zhu   2014-8-18 00:02 楼主
目  录
1 概述        1
2 ULP Advisor简介与优化流程        2
2.1. ULP Advisor简介        2
2.2. ULP Advisor设置        2
2.3. ULP Advisor的运行与优化        2
3 Optimizer Assistant简介与优化流程        4
3.1. Optimizer Assistant简介        4
3.2. Optimizer Assistant优化编译流程        4


1 概述
本文简要介绍了使用CCSv6.0的低功耗优化建议ULP Advisor编译优化助手Optimizer Assistant对msp430的项目进行设计优化和优化编译。
硬件平台:TI-Launchpad FR5969
软件平台:CCS V6.0.1

2 ULP Advisor简介与优化流程
本章介绍采用ULP Advisormsp430芯片的设计进行低功耗优化

2.1. ULP Advisor简介
CCS集成的ULP Advisor内建了许多低功耗规则,在编译期间扫描这个项目的代码,查找是否具有满足规则的低功耗运行,并给出相应的建议。

2.2. ULP Advisor设置
设置ULP在右键的Property里面,选择如下图,勾上所有的选项:
1.png
图 2-1  ULP Advisor的首选项设置

2.3. ULP Advisor的运行与优化
编译项目,则可以在console面板看到优化信息,同时打开Advice面板,可以看到更多的优化建议,如下图:
2.png
图 2-2  ULP advisor输出的优化建议
其中建议在console面板和advice面板中输出。可以看到其中提示没有使用低功耗模式(规则ULP 1.1),以及PortB没有初始化(规则ULP 4.1),给出了两条重要的建议。
根据建议,增加如下代码:
  1. ......
  2. PBDIR = 0xFFFF;
  3. .....
  4. __bis_SR_register(LPM3_bits | GIE);   // Enter LPM3, wait for ~1sec timer  
  5. ......
优化后再次编译,则这两项建议没有输出了,证明已经达到了优化目的。

3 Optimizer Assistant简介与优化流程
本章介绍采用ULP Advisormsp430芯片的设计进行编译优化
3.1. Optimizer Assistant简介
Optimizer Assistant则是采用批量化编译,对比编译后的二进制文件大小,从而确定编译器的优化选项(-Ox)和 速度与代码大小折中优化选项(-opt-for-speed, -mf)。
建立好msp430项目并完成代码编写、调试之后,最后一步可以采用Optimizer Assistant,对项目的编译优化选项进行优化设置。
3.2. Optimizer Assistant优化编译流程
打开菜单栏的Window->Show View->Optimizer Assistant,然后点击Start Analysis
3.png
图 3-1  ULP advisor输出的优化建议
选择Speed vs. Size,点击Start,则可以看到编译器在一趟趟地编译,并最后列举出编译后的代码大小,可供开发人员参考。
4.png
图 3-2  Optimizer Assitant在不同Optimization Level下编译的代码大小
5.png
图 3-3  Optimizer Assitant在不同Size vs Speed Setting下编译的代码大小
鼠标移动到最优化的编译输出后,可以点击Applay this settings......即可应用该优化选项,最终优化选项在项目的Property里面设置如下:
6.png
图 3-4  Optimizer Assitant最终优化得出的编译选项
至此,Optimizer Assistant完成了项目的编译优化,需要注意的是,code size越小,可能导致代码执行效率降低,最终如何确定编译优化选项,需要开发者进行选择折中。



回复评论 (3)

word复制不了图片,都在附件pdf里面
点赞  2014-8-18 08:56
引用: mars4zhu 发表于 2014-8-18 08:56
word复制不了图片,都在附件pdf里面

通过编辑框上传,图片是不能直接复制的
点赞  2014-8-18 09:01
这一招是在8月14日TI的MCU Design Day上学的
点赞  2014-8-18 09:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复