5、混合编程重点.ppt

5、混合编程重点

5. DSP混合编程程序设计 虽然c编译器的优化功能可以使c代码的效率大大增加,但是在某些情况下,c代码的效率还是无法与手工编写的汇编代码的效率相比。这是因为,即使是最佳的c编译器,也无法在所有的情况下都能够最佳地利用DSP芯片所提供的各种资源。 用c语言编写的中断程序虽然可读性很好,但由于在进入中断程序后,有时不管程序中是否用到,中断程序都将寄存器进行保护,从而大大降低中断程序的效率。如果中断程序频繁被调用,那么即使是一条指令也是至关重要的。 此外,用c语言实现DSP芯片的某些硬件控制也不如汇编程序方便,有些甚至无法用C语言实现。因此,在很多情下,DSP应用程序往往需要用c语言和汇编语言的混合编程方法来实现,以达到最佳利用DSP芯片软硬件资源的目的。 C语言和汇编语言的混合编程方法 (1)独立编写c程序和汇编程序,分开编译或汇编,形成各自的目标代码模块,然后用链接器将c模块和汇编模块链接起来。例如,FFT程序一般采用汇编语言编写,形成目标代码模块,与c模块链接就可以在c程序中调用FFT程序; (2)直接在C语言程序的相应位置嵌入汇编语句; (3)对C程序进行编译,生成相应的汇编程序 ,然后手动修改和优化。 5.1 独立编程,再链接 这是一种常用的c和汇编语言接口方法。采用这种方法时需注意的是在编写汇编语言和c语言时必须遵循有关的调用规则和寄存器规则。如果遵循了这些规则,那么

文档评论(0)

1亿VIP精品文档

相关文档