DSP編程技巧之10-揭開編譯器神秘面紗之匯編器選項
在DSP的編程中,雖然C編譯器的效率很高,使得我們可以使用C/C++完成大部分的編程工作,例如對運算的實時性要求不是特別高的算法工作,比如PWM產(chǎn)生、電機的控制等等;但是一些對實時性要求非常高的算法,例如FFT、IFFT、除法/正余弦/反正切(編譯器調用多條語句實現(xiàn)對ROM中數(shù)學表的調用,例如除法用到了十幾條跳轉、賦值指令)等,仍然需要使用匯編語言才能實現(xiàn)最優(yōu)的運行效率;對于一些特殊操作,例如某些bootloader、某些特殊寄存器的讀取/賦值,特別是一些CPU寄存器的賦值,也需要使用匯編語言才能完成;例如在編程中我們對一些EALLOW保護的寄存器進行寫操作時,也需要使用相關的EALLOW和EDIS來解除保護、完成賦值然后恢復保護,雖然在C編程時我們直接書寫的是EALLOW和EDIS兩條語句,但是追根溯源,它們的本體是在頭文件中定義了的asm("EALLOW")和asm("EDIS")兩條內嵌匯編語句。此外,我們用C寫的語句在從編譯到生成二進制輸出文件的整個過程中,必不可少地要經(jīng)過從C到匯編的轉換過程,所以了解匯編器的選項對我們理解程序的編譯與運行過程也是非常重要的。下面就看一下匯編器的相關選項。
本文引用地址:http://cafeforensic.com/article/246362.htm如果想更好地理解匯編相關的選項并更高效地使用匯編語言編程的話,可以再去參考一下匯編工具指南《TMS320C28x Assembly Language Tools User's Guide》和匯編指令指南《TMS320C28x CPU and Instruction Set Reference Guide》;當然痛苦的是這些資料都沒有漢語的啊。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)pwm相關文章:pwm是什么
c++相關文章:c++教程
評論