資料介紹
在DSP的開(kāi)發(fā)中,常用的算法都可以用C/C++代碼來(lái)高效實(shí)現(xiàn)。但是對(duì)一些特殊寄存器的讀寫(xiě),例如某些CPU寄存器的讀寫(xiě),因?yàn)镃/C++代碼無(wú)法直接對(duì)其訪問(wèn),仍然需要使用匯編代碼進(jìn)行操作。此外,在一些對(duì)代碼執(zhí)行時(shí)間要求很?chē)?yán)格的算法,例如很多個(gè)點(diǎn)的FFT、IFFT中,匯編代碼的高效仍然是C/C++所不能替代的。這些就涉及到了C/C++代碼與匯編代碼的接口問(wèn)題,在此我們就來(lái)了解一下它們是如何交互的。首先要遵循以下的九大原則:
1. 所有的函數(shù)(不管是C/C++的還是匯編的)都要遵循特定的寄存器約定
寄存器約定用來(lái)規(guī)定編譯器如何使用寄存器,主要指的CPU/FPU的寄存器(因?yàn)樗鼈冊(cè)诔绦蜻\(yùn)行中是反復(fù)使用的),并且在函數(shù)調(diào)用前后如何保存寄存器的值。保存寄存器值的方法分為在函數(shù)入口處保存和在調(diào)用時(shí)保存,前者是由被調(diào)用的函數(shù)來(lái)完成的,后者則是由調(diào)用別的函數(shù)的函數(shù)來(lái)完成的。在TMS320C28x編譯器中,使用如下的規(guī)則,如表1、表2所示。通過(guò)表1、2,我們還可以對(duì)CPU/FPU的寄存器有進(jìn)一步的理解,這樣以后再看到寄存器的名字時(shí)就不至于一頭霧水了。

表1 CPU寄存器使用和保留的約定

表2 FPU寄存器使用和保留的約定
編譯器對(duì)CPU的狀態(tài)寄存器ST中的某些位也有一定的約定,如表3、表4所示;沒(méi)有列在表中的狀態(tài)寄存器的位則不受編譯器的影響。對(duì)其中的某些位,編譯器會(huì)假設(shè)它們?cè)诤瘮?shù)調(diào)用或者返回時(shí)具有特定的假想值;在系統(tǒng)初始化建立C語(yǔ)言的實(shí)時(shí)運(yùn)行環(huán)境時(shí),這些位也會(huì)被初始化為特定的假象值。
- TMS320LF240x DSP的C語(yǔ)言和匯編代碼快速入門(mén)
- C++ Socket網(wǎng)絡(luò)編程大全源代碼下載 27次下載
- DSP載波移相控制C語(yǔ)言源代碼下載 57次下載
- C5000 DSP系列器件的多通道匯編代碼處理的詳細(xì)資料概述 7次下載
- 如何從TMS320C54X到TMS320C55X的代碼遷移詳細(xì)英文資料概述 10次下載
- TMS320C54x匯編語(yǔ)言工具C/C++編譯器的功能優(yōu)化詳細(xì)概述 10次下載
- 匯編語(yǔ)言與C語(yǔ)言整合至DSP的方法 5次下載
- 淺談關(guān)于DSP6000中C/C++語(yǔ)言和匯編語(yǔ)言的混合編程的方法 1次下載
- 從匯編代碼訪問(wèn)C全局變量 0次下載
- DSP編程技巧之五大使用代碼優(yōu)化的問(wèn)題解析 3次下載
- C標(biāo)準(zhǔn)庫(kù)源代碼 21次下載
- DSP匯編語(yǔ)言編程基礎(chǔ)
- 報(bào)警產(chǎn)生器小程序 (C語(yǔ)言+匯編程序源代碼)
- C代碼在TMS320C54X上的手工匯編優(yōu)化
- TMS320C6000 系列DSP 的C 代碼優(yōu)化方法
- C語(yǔ)言代碼的常用技巧 575次閱讀
- armasm編譯匯編代碼鏈接失敗的問(wèn)題分析 950次閱讀
- C語(yǔ)言代碼規(guī)范 1014次閱讀
- C與C++混合編程是什么 1744次閱讀
- 如何寫(xiě)要被C調(diào)用的匯編函數(shù) 1307次閱讀
- 基于LabVIEW和單片機(jī)實(shí)現(xiàn)DSP應(yīng)用程序代碼的自舉模塊設(shè)計(jì) 2093次閱讀
- C和匯編代碼結(jié)合 是實(shí)現(xiàn)DSP軟件設(shè)計(jì)的最好方式 2951次閱讀
- 嵌入式C代碼編碼習(xí)慣要遵循哪些規(guī)則 3444次閱讀
- C語(yǔ)言程序內(nèi)存布局該關(guān)注哪些內(nèi)容 942次閱讀
- 了解“預(yù)編譯、編譯、匯編、鏈接”這四個(gè)過(guò)程對(duì)你有很大幫助 3.5w次閱讀
- 學(xué)習(xí)開(kāi)發(fā)環(huán)境和編程語(yǔ)言:匯編語(yǔ)言和C語(yǔ)言的比較 9079次閱讀
- C51讀寫(xiě)AT24C04源代碼及AT24C04測(cè)試程序 1.7w次閱讀
- 學(xué)嵌入式能不能只用C寫(xiě)程序? 6059次閱讀
- STC12C5A60S2可編程時(shí)鐘模塊及系統(tǒng)省電模塊代碼 1.1w次閱讀
- 快速傅里葉變換FFT的C程序代碼實(shí)現(xiàn) 6.1w次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開(kāi)發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開(kāi)發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測(cè)放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論