最近在做超低低功耗产品,由于接手时程序基本完成,是用汇编编写的,程序的修改和维护很复杂,持续修改中,可是感觉问题越改越多;现在考虑要用C语言重写一下,对以后的维护会节约很多时间,可是现在摆在面前有几个问题,不知道大家有没有了解的。
1、汇编语言的功耗会节约很多,现在汇编语言对寄存器都赋值变量,用c语言每次都要在变量空间调入寄存器,很难直接在寄存器调用,这样感觉功耗就会增加一些。
2、C语言比汇编会增加功耗吗?会增加多少?
3、C语言对端口控制能不能达到汇编语言的简洁程度?因为现在对功能的要求基本要做到一个指令一个指令来控制。
现在工程对时间要求也很严格,真的不知道能不能按时修改完,如果换c语言如果功耗上去了,这样更没法交差,很痛苦。请用过的高手给个建议。
此帖出自
小平头技术问答
1.采用效率高的编译器,并设置为对速度进行最优化,而不是对空间占用最优化;
2.自己写代码的时候,也要有意识的以牺牲空间的方式来换取速度;
至于其它的什么降低工作频率、降低工作电压、在程序中添加功率管理功能等,相信楼主已经是做好了的。
至于C语言比汇编的效率低多少,是无法得出结论的。编译器不同,优化等级不同,代码的作者不同,都会得出不同的结论。因此,楼主需要做的就是通过实际的测试。想来做了最大优化后,应该不会差多少。楼主可以测试。
一周热门 更多>