打印

请教C语言与汇编的效率与功耗?

[复制链接]
3131|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
浏览器123|  楼主 | 2012-1-31 21:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做超低低功耗产品,由于接手时程序基本完成,是用汇编编写的,程序的修改和维护很复杂,持续修改中,可是感觉问题越改越多;现在考虑要用C语言重写一下,对以后的维护会节约很多时间,可是现在摆在面前有几个问题,不知道大家有没有了解的。
1、汇编语言的功耗会节约很多,现在汇编语言对寄存器都赋值变量,用c语言每次都要在变量空间调入寄存器,很难直接在寄存器调用,这样感觉功耗就会增加一些。
2、C语言比汇编会增加功耗吗?会增加多少?
3、C语言对端口控制能不能达到汇编语言的简洁程度?因为现在对功能的要求基本要做到一个指令一个指令来控制。
现在工程对时间要求也很严格,真的不知道能不能按时修改完,如果换c语言如果功耗上去了,这样更没法交差,很痛苦。请用过的高手给个建议。

相关帖子

沙发
永远的不知| | 2012-1-31 22:22 | 只看该作者
功耗和使用汇编、C语言关系不大,汇编的优势是控制时序比较容易。

使用特权

评论回复
板凳
蓝海深| | 2012-2-1 00:46 | 只看该作者
功耗和使用汇编、C语言关系不大,与内部启动的功能模块和硬件电路有很大关系,低功耗睡眠时需注意对IO口的处理,漏电流对功耗影响很大,看楼主做什么产品,超低功耗我折腾了半年。

使用特权

评论回复
地板
lifenganhui| | 2012-2-1 08:58 | 只看该作者
电路功耗,和汇编,c 没多少大关系,还是硬件电路的关系,楼主不要担心

使用特权

评论回复
5
tianm| | 2012-2-1 10:02 | 只看该作者
C语言跟编译器的关系很大 熟悉编译器特性后 编译出来的代码效率也很高

使用特权

评论回复
6
lcq07| | 2012-2-10 12:55 | 只看该作者
如大家所说功耗与语言无关,但是如楼主所说,使用汇编与使用C功耗肯定不一样,C语言编译出的代码,大多通过pc指针偏移来取数,直接对寄存器的操作肯定比通过ldr str指令功耗低,ARM的IQ杂志有一期的一篇**专门讲了这方面的分析。

使用特权

评论回复
7
xlhtracy| | 2012-2-10 14:25 | 只看该作者
与语言关系不大

使用特权

评论回复
8
TI_MCU| | 2012-2-10 18:34 | 只看该作者
如果使用的外设一样,程序到底多省电就看执行的代码的时间和待机的时间各占多少,想看汇编能多省多少电,就看汇编的程序,比C编译出来的,每秒少执行的指令的条数。

使用特权

评论回复
9
老电工1979| | 2012-2-10 19:35 | 只看该作者
专家厉害!!!佩服

使用特权

评论回复
10
FVJFIFE| | 2012-2-12 16:03 | 只看该作者
我一直用汇编,这个问题还真没考虑过
不过怎么会在持续修改中感觉问题越改越多呢?把整个程序改用c的话不是更麻烦?

使用特权

评论回复
11
永远的不知| | 2012-2-13 13:07 | 只看该作者
汇编比C语言,
由于可读性的差别,
在维护方面要吃力些!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

163

帖子

1

粉丝