基于TI公司的CCSV3.3集成开发环境下软件优化配置的研究

来源 :科学导报·科学工程与电力 | 被引量 : 0次 | 上传用户:yourice
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘  要】介绍了德州仪器公司(TI)Code Composer Studio V3.3(CCS V3.3)环境下软件优化配置的方法,在相同环境下,通过比较烧注了调试版(Debug)和发布版(Release)目标码的设备运行时在正确性、信号输出和执行速度等指标方面的差别,提出发布版使用中的一些建议。
  【关键词】调试版;发布版;程序优化;执行速度
  中图分类号:文献标识码:A
  TI公司的数字信号处理器集成开发环境CCS V3.3具有生成调试版(Debug)和发布版(Release)目标码的功能,在多数情况下嵌入式产品烧注的目标码均为调试版,该版本目标码保留有调试信息且未经过编译器优化,会影响程序执行效率和存储空间利用率。发布版可以删除调试信息并使用不同的优化层级来对代码进行优化,使软件执行效率和存储空间利用率得到一定的提升。
  本文从开发环境优化工具介绍入手,一步步展开论述,引入了优化效果判定指标,设计了多种优化配置方案,并依据判定指标对不同方案的优化效果进行了测试,得到了完整的测试数据,通过对数据的比较和分析,得出最优配置方案,并给出了不同类型工程下的优化配置建议。
  1 软件优化工具介绍
  软件开发环境为TI公司的CCS3.3集成开发环境,该环境适用于TMS320F2812 数字信号处理器。针对该DSP的硬件初始化配置略。
  软件优化工具为CCS 3.3 中内嵌的C Compiler优化器,该工具支持使用ANSI 标准的C语言编写的软件代码。
  C Compiler优化器包含一个可提高代码执行速度和减少程序占用空间的优化程序,该优化程序通过使用简化路径、开启软件流水线、调整声明和表达式位置和将变量分配进寄存器等的操作来实现对代码的优化。
  1.1 编译流程
  编译过程分为三步:
  a)分析器对代码进行分析,完成对源文件的预处理和语法检查,生成编译器内部识别的.if后缀的文件;
  b)优化器作为一个可选的路径运行在解析器和代码生成器之间,优化器的输入为.if文件,当启用优化器并完成优化配置后,优化器会对.if文件进行优化并生成与.if文件格式相同但更高效的的文件,称为.opt文件;
  c)代码生成器将输入的.if文件或.opt文件转化为汇编语言源文件(.asm)。
  1.2 优化选项介绍
  对于TEST.pjt工程,未使用嵌入式实时操作系统RTS/BIOS,使用的编程语言仅为C语言,因此影响程序优化的选项为Basic选项,其它后续选项设置为默认值即可。Basic选项详细内容见表1。
  2 示例工程介绍
  作为示例工程的TEST.pjt,为嵌入式软件,烧注于TI公司的TMS320F2812型数字信号处理器(DSP)硬件平台。软件主要实现大气压力采集及大气参数解算。
  3 优化效果判定指标
  在工程实际应用中,设备功能的正确实现是根本,然后再兼顾程序运行效率和空间占有率等指标,做到“正确优先,兼顾效率”。
  为了对优化的效果作出合理判定,在程序运行正确性、运行时间和生成的目标文件大小等方面进行分析,确定了TEST.pjt工程中以下4个方面的指标作为优化效果判定依据。
  3.1 压力数据解算正确性及压力有效性
  3.1.1压力数据解算正确性
  压力数据的解算是具有代表性的程序运行过程,它包含了对硬件及外设的操作、逻辑和数值运算等方面内容,可以作为软件执行正确性的判定标准。
  3.1.2压力有效性
  压力有效性的判定原理是通过对与压力数据解算有关数据的判断,以确定计算出的压力数据是否有效可用。可作为压力数据解算正确性判定的有效补充。
  3.2 延时函数耗时
  延时函数在工程中起到延时的作用,对延时函数耗时的测量可以直观看出在不同优化环境下单位行数的代码的执行速度。
  3.3 定时中断服务函数耗时
  定时中断服务程序实现产品的主要功能,通过对不同优化配置项下该程序运行时间的比较,可反映出软件执行速度的差异。
  3.4 可執行目标文件大小
  可执行目标文件是指烧写进硬件平台的嵌入式软件最终格式,其大小可体现出在空间上的优化的差异。
  4 优化配置方案介绍及验证
  根据工作中不同情况下软件工作的特点,确立了两种优化配置方案,并依据第3章的判定指标对不同方案进行测试和分析,两种方案如下:
  a)不改变软件,配置优化器;
  b)调整软件结构,配置优化器。
  4.1 不改变软件,配置优化器
  4.1.1配置原则
  不对工程中代码做出调整,在项目级对编译器进行优化配置。
  4.1.2优化效果判定及比较
  选取三种优化配置方法进行比较分析,三种优化配置方法为:
  a)禁止使用调试信息且未使能优化(NoDebug+None);
  b)禁止使用调试信息且使能了寄存器级优化(NoDebug+o0);
  c)禁止使用调试信息且使能了本地级优化(NoDebug+o1)。
  将已通过功能测试且工作正常的配置方法作为参照组。参照组的配置方法为使用调试信息且未使能优化(Debug+None)。
  依据优化判定指标,对上述所列每种优化配置方法进行多次测量并取平均值后得到测试结果,见表2。
  4.1.3小结
  在保证程序正确运行的前提下,本优化配置方案至多可实现寄存器级的优化。优化后程序的运行效率提高,生成的可执行目标文件所占空间减小。   因方法二中延时函数耗时减少较多,会造成延时时长少于设计值,在不对程序作出调整的前提下,与延时相关的数据可能会出现异常。因此,确定方法一为本方案最优配置方法。
  4.2 调整软件结构,配置优化器
  4.2.1软件结构调整原则
  对软件工程的结构进行调整,调整依据以下原则进行。
  a)对工程中的函数按照功能进行划分,形成不同的功能模块文件,力求做到工程结构合理,层次清晰;
  b)随着优化层级的加深,工程中存在对硬件操作的函数、对外设操作的函数、中断函数以及包含内联汇编的函数在运行时会出现代码执行速度与硬件不匹配的错误。为了避免此类错误发生,将上述类型函数与工程中其它函数分离开来,以便后续单独对其实施优化配置。
  4.2.2软件结构调整及优化器配置
  TEST.pjt工程的源文件(仅含C、汇编和CMD文件)结构树如图1所示。
  依据4.3.1节要求对TEST工程进行结构调整,将原工程中的TEST.c文件按照功能分解为多个C文件,在TEST.c文件中仅保留4.3.1节b)条所述函数,调整后的工程源文件结构树如图2所示。
  工程结构调整完成后,对工程中每个源文件进行单独优化配置成为可能。
  除TEST.c外的其它c文件主要用于数据解算和逻辑判断,不涉及对硬件的操作、内联汇编及中断,可将此类C文件的优化等级直接配置为文件级(-o3),对TEST.c文件,将该文件配置为不产生调试信息模式(NoDebug),具体优化器配置见4.3.3节。
  4.2.3优化效果判定及比较
  选取四种优化配置方法进行比较分析,具体方法及配置如下:
  a)TEST.C未使能优化(None),剩余C文件使能文件级优化(o3);
  b)TEST.C使能寄存器级优化(o0),剩余C文件使能文件级优化(o3);
  c)TEST.C使能本地级优化(o1),剩余C文件使能文件级优化(o3)。
  将所有文件配置为使用调试信息且未使能优化(Debug+None)作为参照组,参照组已通过功能测试且工作正常。
  测试结果见表4。
  4.2.4小结
  本方案虽然可以保证方法三的正确性,但由于延时函数耗时测试中方法二和方法三表现异常(优化层级加深延时函数耗时反而变长),因此,确定方法一为本方案最优配置方法。
  5 优化配置总结
  通过第4章的测试及分析得出了每种优化配置方案下的最优配置方法,为了在最优配置方法之间进行比较,需要对测试项设置权重,通过加权计算出最优配置方法,各测试项目的权重设置如下:
  a)各方法均通过了3.1节测试,不对该项测试设置权重;
  b)延时函数耗时除了在方案一方法一中增大外,在剩下两种方法中均有减小,说明优化会加快代码执行速度,该项权重应适当分配,分配为0.20;
  c)各方法下定时中断服务程序耗时均有不同程度减少,软件的主要功能在定时中断服务程序中实现,定时中断服务程序耗时长短可以直观反映出程序运行效率的优劣,权重值应较大,分配为0.55;
  d)各方法下生成的目标文件大小均有较大程度减小,体现出优化在空间上的作用明显,该项的权重应给予适当分配,分配为0.25。
  将两种最优配置方法的测试结果列表,依据权重计算出加权平均值,形成配置方法对比表,详见表5。
  通过表5可以得出如下结论:
  方案二方法一的加权平均值最高,特别是定时终端服务程序耗时一项,较参照组减少了9.13%,为最优配置方法,但其对原有代码结构改动较大,适用于新研项目。
  方案一方法一的加权平均值最低,优化效果虽然不及之前两种方法,但该方法不修改代码,适用于产品已定型或已完成软件定型测评的项目。
  参考文献:
  [1]王忠勇.陈恩庆.TMS320F2812 DSP原理与应用技术.北京,电子工业出版社,2012.06
  [2]Texas Instruments Incorporated.TMS320C2x/C2xx/C5xOptimizing C Compiler User’s guide,Texas,1999.8
  [3]Texas Instruments Incorporated.TMS320C281x DSP System Control and Interruptes Reference Guide,Texas,2006.10
  [4]顧卫钢.手把手教你学DSP——基于TMS320X281x.北京,北京航空航天大学出版社,2011.4
  (作者单位:太原航空仪表有限公司)
其他文献
【摘 要】叙述了机电一体化系统、智能控制的概述及定义,探讨了机电一体化在煤矿机械上的应用和前景及智能控制在机电一体化系统中的应用。  【关键词】智能控制;机电一体化系统;应用;  1机电一体化在煤矿机械上的应用和前景  1.1煤矿机械  增加机电一体化技术含量,提高煤矿企业生产能力。机电一体化可把有关煤炭生产的各种机械与技能科学的进行有机结合,同时将其在煤炭企业生产过程中进行综合应用。这些机械与技
期刊
【摘 要】电子工程是当前发展过程中十分常见,在电子工程自动化控制过程中智能技术应用十分广泛,并且起到了积极的作用,因此本文结合这一技术展开探究,目的在于更好的提升智能化改造,加强智能技术在电子工程化控制中应用的综合效果,从而更好的提升企业的综合效益。本文结合电子工程自动化控制展开探究,对自动化控制中的智能技术作为切入点,对智能监测内容进行分析,并且对该技术的应用价值进行分析,从而更好的帮助电子工程
期刊
【摘 要】在世界能源匱乏的情况下,新能源的出现得到各国的认可与支持。在所有新能源的研究当中,太阳能能源受到电力研究者的广泛关注,不仅具有能源丰富性和可靠性优点,而且不能在使用过程中造成环境污染。光伏发电经过多年的研究已逐渐得到应用,并在新能源产业开发的过程中占据重要的位置。  【关键词】光伏发电;配电网;可靠性;现状;展望  引言  智能电网拥有可再生能源发电系统,能结合电力网络和信息,对光伏发电
期刊
【摘 要】在我国大力发展农业现代化的过程中,为有效提高农业采摘效率,减轻工作人员的劳动强度,可以选择使用农业采摘机器人进行机械化操作。在这一背景下,本文将以农业采摘机器人作为主要研究对象,在阐明农业采摘机器人控制系统基本构成的基础上,结合相关研究资料尝试设计一种高效的农业采摘机器人控制系统。  【关键词】农业采摘机器人;控制系统;系统设计  引言  在设计使用农业采摘机器人的过程中,需要重点对其控
期刊
【摘 要】隨着科技的发展、人民生活水平的提高,各种各样的电器开始走进千家万户,人们日常的学习、生产与生活也已离不开电气工程。但就我国目前的电气工程发展现状而言,传统的电气自动化应用效率偏低,已经不能满足电气市场的发展需求,为此我们必须重视电气自动化技术在电气工程中的应用研究。  【关键词】电气自动化;电气工程;工程质量;电气市场;电子信息技术;网络技术;  1电气自动化技术的理论基础  电气自动化
期刊
【摘 要】从当前机电一体化设备的运行现状来看,社会各个领域的应用程度比较广泛,而且所取得的效果也比较明显。但是,由于社会各个领域的发展因素有一定的差异,所以在机电一体化设备运行和发展过程中容易受到多方面因素的影响,从而导致社会各领域在运用机电一体化设备的时候有些不足。为了更好地确定机电一体化技术在我国社会各个领域的应用范围及后续的发展趋势,此次重点对机电一体化设备的发展进行了分析和探讨。  【关键
期刊
【摘 要】顾名思义,机电控制系统是利用计算机预先设定生产程序,然后借助控制装备远程遥控生产过程的一门科学,因此,机电控制系统表现出智能化、高效化、自动化的特点。由于机电控制系统的应用使得行业呈现整体化、高效化的特征,借助其自身优势以及各类技术的应用提高了生产效率,节约生产成本,机电控制系统的高效使用利于行业的稳定发展。同时机电控制系统的智能化有效减少了工作人员的失误,利用控制装备操控工作过程代替工
期刊
【摘 要】作为新时期大学的一门公共基础课程,计算机网络课程具备了较强的形象性、知识性与实践性,究其教学过程来看,其实现了对现代化的网络技术与多媒体技术的充分利用,并在此基础上,注重趣味性和实践性,变原本枯燥的知识点更加生动形象,继而将知识点高效的传递与展现给学生,促使学生的知识点能够得到有效扩展,其创新能力也随之教学的进行逐渐得到了培养,新时期的计算接网络教学中,既要注重产业化教学,同时更需注重对
期刊
【摘 要】信息化逐渐渗透到社会各行各业的背景下科学技术的发展也越来越依托信息的传递与交流。此种情况下,应当高度重视电子工程技术的应用与发展,以便人们在生产生活中更加方便、快捷、有效的应用电子信息,相应的电子工程产业及相关行业也能良好发展,为我国经济持续发展造势。当然,要想真正实现这一目的,需要高度重视电子工程现代化技术的应用与发展。那么,如何做到这一点呢?本文将参考相关资料着重研究电子工程现代化技
期刊
【摘 要】本文主要研究电气控制技术以及电气控制技术的发展方向,不仅对电气控制技术的应用和发展现状进行了分析,并在此基础上提出了电气控制技术未来的发展趋势。  【关键词】电器控制技术;应用和发展;前景展望;  1电气控制技术的应用现状  采用一定的科学技术或手段,将电和气两个方面进行综合的技术就是电气控制技术。电气控制技术的研究对象主要是各种不同的電动机,通过一定的科学方法使得生产过程实现自动化。科
期刊