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