完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
在DSP的编程中,虽然C编译器的效率很高,使得我们可以使用C/C++完成大部分的编程工作,例如对运算的实时性要求不是特别高的算法工作,比如PWM产生、电机的控制等等;但是一些对实时性要求非常高的算法,例如FFT、IFFT、除法/正余弦/反正切(编译器调用多条语句实现对ROM中数学表的调用,例如除法用到了十几条跳转、赋值指令)等,仍然需要使用汇编语言才能实现最优的运行效率;对于一些特殊操作,例如某些bootloader、某些特殊寄存器的读取/赋值,特别是一些CPU寄存器的赋值,也需要使用汇编语言才能完成;例如在编程中我们对一些EALLOW保护的寄存器进行写操作时,也需要使用相关的EALLOW和EDIS来解除保护、完成赋值然后恢复保护,虽然在C编程时我们直接书写的是EALLOW和EDIS两条语句,但是追根溯源,它们的本体是在头文件中定义了的asm(“EALLOW”)和asm(“EDIS”)两条内嵌汇编语句。此外,我们用C写的语句在从编译到生成二进制输出文件的整个过程中,必不可少地要经过从C到汇编的转换过程,所以了解汇编器的选项对我们理解程序的编译与运行过程也是非常重要的。下面就看一下汇编器的相关选项。
|
|
|
|
只有小组成员才能发言,加入小组>>
663 浏览 0 评论
1083 浏览 1 评论
2456 浏览 5 评论
2784 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2619 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
639浏览 9评论
636浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
766浏览 6评论
610浏览 5评论
651浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:54 , Processed in 0.734432 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号