資料介紹
ADSP-TS101S是美國(guó)ADI公司推出的一款具有極高性能的數(shù)字信號(hào)處理器(DSP)芯片,其專為大信號(hào)處理任務(wù)和通信應(yīng)用進(jìn)行了結(jié)構(gòu)上的優(yōu)化設(shè)計(jì),在嵌人式信號(hào)處理中得到廣泛應(yīng)用。ADSP-TS101S的軟件設(shè)計(jì)可以采用匯編語(yǔ)言、高級(jí)語(yǔ)言(C/C )或高級(jí)語(yǔ)言與匯編語(yǔ)言混合編程。完全采用匯編編程,執(zhí)行效率高,但對(duì)于復(fù)雜算法編寫難度大,開發(fā)周期長(zhǎng),可讀性和可移植性差;而完全采用C編程雖然可以彌補(bǔ)匯編的缺陷,但是程序的執(zhí)行效率相對(duì)較低,大概只有匯編程序的10%~20%,對(duì)于實(shí)時(shí)性要求很高的處理,如雷達(dá)信號(hào)處理,很難滿足要求。采用混合語(yǔ)言編程,用c語(yǔ)言構(gòu)建框架,用匯編完成運(yùn)算量較大的核心處理模塊及硬件底層管理,就可以把兩者的優(yōu)點(diǎn)有效地結(jié)合起來(lái)。C和匯編語(yǔ)言的混合編程有三種形式:一是對(duì)C程序編譯后形成的匯編程序進(jìn)行手工修改與優(yōu)化;二是直接在C代碼中插入?yún)R編語(yǔ)句,只需在匯編語(yǔ)句兩邊加上雙引號(hào)和括號(hào),在括號(hào)前面加上標(biāo)識(shí)“asm“,如asm(“匯編語(yǔ)句”);三是分別編寫C程序和匯編程序,再獨(dú)立編譯成目標(biāo)代碼模塊鏈接。第一種方法對(duì)程序可讀性負(fù)面影響較大。第二種方法適用于C與匯編效率差異較大的情況,如進(jìn)入中斷的中斷子程序等。第三種方法最常用,需要遵循一些規(guī)定的接口規(guī)范和標(biāo)準(zhǔn)。
1 混合編程的接口規(guī)范和標(biāo)準(zhǔn)
①在C/C 環(huán)境下,TigerSHARC定義了一套嚴(yán)格的寄存器規(guī)則,它分為三類:
第一類是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40個(gè),作為編譯系統(tǒng)庫(kù)函數(shù)專門使用的寄存器。編寫程序時(shí)應(yīng)避免使用這些寄存器,以免誤改了系統(tǒng)庫(kù)函數(shù)。若在子程序中使用到,必須在被調(diào)用時(shí)保存,調(diào)用完后釋放。
第二類是堆棧專用寄存器,k26、27和j26、j27四個(gè),這些寄存器在調(diào)用時(shí)都需要保護(hù)。
第三類是高速暫存寄存器,包括除了以上兩類寄存器以外的所有寄存器。用法和匯編中的普通寄存器是一樣的,使用前不需要保存寄存器內(nèi)容。
在默認(rèn)情況下,cjmp寄存器用作存放被調(diào)函數(shù)的返回地址,但在嵌套調(diào)用中,這個(gè)值會(huì)被修改。為了保證安全返回,一般把返回地址存放在堆棧頂偏移地址為0的地方。
函數(shù)調(diào)用有時(shí)需要參數(shù)傳遞,通常,若參數(shù)少于5個(gè),則通過(guò)寄存器傳遞,如表1所列。
如果在C/C 調(diào)用函數(shù)中作了正確的函數(shù)返回聲明,則被調(diào)用的匯編函數(shù)可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整數(shù)或地址;xr9:8可提供雙字結(jié)果返回。若返回值大于2個(gè)字長(zhǎng),則必須為它們分配存儲(chǔ)空間,令j8為返回值,指向該空間的首地址即可。
?、谠贑/C 中聲明的全局變量及函數(shù),匯編中加“一”前綴才能使用;在匯編中的對(duì)象必須用”一”前綴命名,并用.g10bal聲明為全局變量,才可在C/C 中訪問(wèn)到。具體格式如表2所列。
2 混合編程的調(diào)用和中斷
2.1 函數(shù)調(diào)用
C編譯器對(duì)函數(shù)調(diào)用有一系列嚴(yán)格的規(guī)則。除了特殊的運(yùn)行支持函數(shù)外.任何函數(shù)與c函數(shù)互調(diào)都必須遵循這些規(guī)則。函數(shù)調(diào)用的標(biāo)準(zhǔn)運(yùn)行模式為:①調(diào)用者將參數(shù)莊人堆棧。壓入時(shí)按照反序進(jìn)行,即最右邊的參數(shù)位于堆棧的頂部。②調(diào)用函數(shù)。③調(diào)用結(jié)束時(shí),調(diào)用者將參數(shù)彈出堆棧并返回。整個(gè)過(guò)程離不開堆棧操作。
1 混合編程的接口規(guī)范和標(biāo)準(zhǔn)
①在C/C 環(huán)境下,TigerSHARC定義了一套嚴(yán)格的寄存器規(guī)則,它分為三類:
第一類是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40個(gè),作為編譯系統(tǒng)庫(kù)函數(shù)專門使用的寄存器。編寫程序時(shí)應(yīng)避免使用這些寄存器,以免誤改了系統(tǒng)庫(kù)函數(shù)。若在子程序中使用到,必須在被調(diào)用時(shí)保存,調(diào)用完后釋放。
第二類是堆棧專用寄存器,k26、27和j26、j27四個(gè),這些寄存器在調(diào)用時(shí)都需要保護(hù)。
第三類是高速暫存寄存器,包括除了以上兩類寄存器以外的所有寄存器。用法和匯編中的普通寄存器是一樣的,使用前不需要保存寄存器內(nèi)容。
在默認(rèn)情況下,cjmp寄存器用作存放被調(diào)函數(shù)的返回地址,但在嵌套調(diào)用中,這個(gè)值會(huì)被修改。為了保證安全返回,一般把返回地址存放在堆棧頂偏移地址為0的地方。
函數(shù)調(diào)用有時(shí)需要參數(shù)傳遞,通常,若參數(shù)少于5個(gè),則通過(guò)寄存器傳遞,如表1所列。
如果在C/C 調(diào)用函數(shù)中作了正確的函數(shù)返回聲明,則被調(diào)用的匯編函數(shù)可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整數(shù)或地址;xr9:8可提供雙字結(jié)果返回。若返回值大于2個(gè)字長(zhǎng),則必須為它們分配存儲(chǔ)空間,令j8為返回值,指向該空間的首地址即可。
?、谠贑/C 中聲明的全局變量及函數(shù),匯編中加“一”前綴才能使用;在匯編中的對(duì)象必須用”一”前綴命名,并用.g10bal聲明為全局變量,才可在C/C 中訪問(wèn)到。具體格式如表2所列。
2 混合編程的調(diào)用和中斷
2.1 函數(shù)調(diào)用
C編譯器對(duì)函數(shù)調(diào)用有一系列嚴(yán)格的規(guī)則。除了特殊的運(yùn)行支持函數(shù)外.任何函數(shù)與c函數(shù)互調(diào)都必須遵循這些規(guī)則。函數(shù)調(diào)用的標(biāo)準(zhǔn)運(yùn)行模式為:①調(diào)用者將參數(shù)莊人堆棧。壓入時(shí)按照反序進(jìn)行,即最右邊的參數(shù)位于堆棧的頂部。②調(diào)用函數(shù)。③調(diào)用結(jié)束時(shí),調(diào)用者將參數(shù)彈出堆棧并返回。整個(gè)過(guò)程離不開堆棧操作。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- ADSP-TS101S IBIS數(shù)據(jù)文件BGA包
- EE-178:ADSP-TS101S TigerSHARC?片上SDRAM控制器
- ADSP-TS101S EZ-KIT Lite評(píng)估系統(tǒng)手冊(cè)(1.1版,2004年3月) 0次下載
- ADSP-TS101S EZ套件精簡(jiǎn)版?SUP_ 0次下載
- 用于ADSP-TS101S TigerSHARC處理器的EZ套件精簡(jiǎn)版產(chǎn)品亮點(diǎn) 0次下載
- ADSP-TS101S TigerSHARC版本0.2、0.4異常列表 0次下載
- EE-169:ADSP-TS101S的功耗估算
- EE-174:ADSP-TS101S虎-SHARC高級(jí)ProcessLuter加載內(nèi)核手術(shù)
- EE-217:更新ADSP-TS101S老虎SHARC-ZEZ-KIT有限公司
- EE-205:將代碼從ADSP-TS101S TigerSHARC?處理器移植到ADSP-TS201S TigerSHARC處理器的注意事項(xiàng)
- EE-176:ADSP-TS101S老虎SHARC高級(jí)Processor硬件設(shè)計(jì)檢查表
- ADSP-TS101S EZ-KIT有限公司設(shè)計(jì)數(shù)據(jù)表(1.3版) 0次下載
- ADSP-TS101S IBIS數(shù)據(jù)文件BGA包
- ADSP-TS101S嵌入式系統(tǒng)的混合編程設(shè)計(jì)方案分析 1次下載
- 基于USB總線的ADSP-TS101S鏈路口加載 0次下載
- 嵌入式可編程片上系統(tǒng)是什么 411次閱讀
- fpga是嵌入式嗎 1767次閱讀
- 什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的具體應(yīng)用 2096次閱讀
- 怎么從PC編程轉(zhuǎn)向嵌入式編程 655次閱讀
- 混合編程中的模塊命名與管理 835次閱讀
- 嵌入式系統(tǒng)的全面解析 3146次閱讀
- 如何實(shí)現(xiàn)嵌入式系統(tǒng)遠(yuǎn)程調(diào)試 5077次閱讀
- 基于SoPC的嵌入式系統(tǒng)設(shè)計(jì)方法闡述 1529次閱讀
- 基于嵌入式軟件的JNI技術(shù)應(yīng)用解析 1020次閱讀
- 嵌入式系統(tǒng)C語(yǔ)言編程實(shí)戰(zhàn)教程合集 9264次閱讀
- 嵌入式軟件開發(fā)編程規(guī)范介紹 4206次閱讀
- 嵌入式系統(tǒng)的特點(diǎn)大匯總 5743次閱讀
- 干貨!使用嵌入式處理器對(duì)可編程邏輯器件重編程 1590次閱讀
- 深入了解嵌入式編程 3549次閱讀
- 典型的嵌入式系統(tǒng)設(shè)計(jì) 2650次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多