如何编写电力实时应用的运行在DSP上的高效C代码
摘要:数字信号处理器(DSP)因其出色的处理能力,在包括电力应用在内的各个领域得到十分广泛的应用。为了满足电力应用的高实时性的要求,需要为DSP编写高效的代码。目前对DSP进行程序设计时,使用得最多的是C语
了提高代码的空间效率,下面列出了几点建议:
a) 减少常量的申明和定义,多使用预定义语句“#define”。对于常量数组的申明和定义应该尽量减少,可能的话还可以通过对数据类型的调整来节省常量数组所占用的内存空间。对于一般的常量,都需要用预定义语句“#define”来进行预定义。这样,在编译的时候,常量以立即数的形式存在于程序空间中,但这并没有增加代码在程序空间上的开销。如果不使用预定义,而是申明和定义了一些常量,这些常量都要在数据空间中占用一部分存储单元。
b) 减少变量的申明和定义。在很多时候,我们都不能保证我们使用的变量数目是最少的。通常我们会使用冗余的变量来增加代码的可读性。这在其他情况下是无可厚非的,但是在对DSP进行程序设计的时候,我们需要保证我们使用了最少的变量。对于中转数据或临时存放数据的变量而言,很多是不必要的,可以设法将其删除。这样做有助于减小代码的数据空间,同时还减少了不必要的冗余操作,既提高的代码的空间效率,又提高了代码的时间效率。
c) 尽量使用全局变量。在一般的C语言程序设计中,我们不提倡过多地使用全局变量,因为全局变量的使用容易造成程序的结构模糊,函数之间的关联性增强,影响了程序的可读性和结构化【1】。但是在DSP的C语言程序设计中,由于程序的规模不大,并且以数据运算和硬件操作为主,因此全局变量的使用不会使程序变得难以理解。相反,因为全局变量在程序中容易观察,因此,给程序员对代码的剖析带来方便,有助于对代码的调试。绝大多数DSP代码都是面向过程的,并且以对全局变量的操作为基础,以实现其功能。而很多全局变量可以在代码执行的不同阶段被复用而不引起冲突,这样就大大节省了代码在数据空间上的开销。
d) 整个代码中反复使用的部分代码应该尽量写成函数的形式在代码中被调用。这样做可以减少代码的重复部分,节省了重复部分所占用的额外的程序空间。而由此带来的代码时间效率的下降是微乎其微的。
e) 尽量使用循环语句。循环语句的使用也在一定程度上减少的代码的重复,节省了程序空间。
3.2 提高代码的时间效率
代码的时间效率也可以理解成代码执行时间的长短。为了能使代码在完成同样功能的前提下在更短的时间内执行完毕,需要对代码进行优化,下面列出了几条建议。
3.2.1 少用指针,多用下标
这里指的是对数组的操作。在C语言的教材中一般都会提到数组操作的两种方式:指针方式和下标方式【1】。一般,教材会推荐使用指针方式,而指针方式也是C标
责任编辑:和硕涵
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞
-
现货模式下谷电用户价值再评估
2020-10-10电力现货市场,电力交易,电力用户 -
PPT | 高校综合能源服务有哪些解决方案?
2020-10-09综合能源服务,清洁供热,多能互补 -
深度文章 | “十三五”以来电力消费增长原因分析及中长期展望
2020-09-27电力需求,用电量,全社会用电量
-
PPT | 高校综合能源服务有哪些解决方案?
2020-10-09综合能源服务,清洁供热,多能互补 -
深度文章 | “十三五”以来电力消费增长原因分析及中长期展望
2020-09-27电力需求,用电量,全社会用电量 -
我国电力改革涉及的电价问题
-
贵州职称论文发表选择泛亚,论文发表有保障
2019-02-20贵州职称论文发表 -
《电力设备管理》杂志首届全国电力工业 特约专家征文
2019-01-05电力设备管理杂志 -
国内首座蜂窝型集束煤仓管理创新与实践
-
人力资源和社会保障部:电线电缆制造工国家职业技能标准
-
人力资源和社会保障部:变压器互感器制造工国家职业技能标准
-
《低压微电网并网一体化装置技术规范》T/CEC 150
2019-01-02低压微电网技术规范
-
现货模式下谷电用户价值再评估
2020-10-10电力现货市场,电力交易,电力用户 -
建议收藏 | 中国电价全景图
2020-09-16电价,全景图,电力 -
一张图读懂我国销售电价附加
2020-03-05销售电价附加
-
电气工程学科排行榜发布!华北电力大学排名第二
-
国家电网61家单位招聘毕业生
2019-03-12国家电网招聘毕业生 -
《电力设备管理》杂志读者俱乐部会员招募
2018-10-16电力设备管理杂志