亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 92.htm

?? dsp書籍,對還沒入門的人來說很不錯,沒有解壓密碼
?? HTM
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精華下載</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://202.112.58.200"><font face="黑體"><big><big>Tsinghua</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑體"><p align="center">            DSP開發技術                           (BM: chaosboy wbs)            </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑體"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="DSP開發技術.htm">回到開始</a>][<a href="6.htm">上一層</a>][<a href="93.htm">下一篇</a>]
<hr><p align="left"><small>發信人: chaosboy (大夢方醒), 信區: DSPTech <br>

標  題: TMS320C54X  C編譯器的使用(轉載) <br>

發信站: BBS 水木清華站 (Mon Jun  3 12:33:18 2002) <br>

  <br>

  <br>

TMS320C54x C編譯器的使用 <br>

---------------------------------------------------------------------------- <br>

---- <br>

---------------------------------------------------------------------------- <br>

---- <br>

武漢力源電子股份有限公司開發部(430010)     劉朝暉 <br>

  摘 要   介紹了TI公司提供的TMS320C54x C編譯器的使用特點,討論了關于移植、與 <br>

匯編的接口等問題。 <br>

  關鍵詞   TMS320C54x    C編譯器     移植    嵌入匯編 <br>

1 前言 <br>

    TMS320C54x 是TI公司針對通信應用推出的中高檔16位定點DSP系列器件。該系列器 <br>

件功能強大、靈活,較之TMS320C2xx ,具有以下突出優點: <br>

   (1)速度更快:40~100MIPS; <br>

   (2)指令集更為豐富; <br>

   (3)更多的尋址方式選擇;  (4)兩個40位的累加器; <br>

(5)硬件堆棧指針; <br>

(6)支持塊重復和環型緩沖區管理。 <br>

    TMS320C54x 的應用一般較為復雜,因此,完全采用匯編語言進行編程將是一件很困 <br>



難、也很低效的事情。而C語言以其靈活性、易移植性,已成為單片機開發的一種趨勢, <br>

對于更為復雜的DSP應用來說,更是如此。 <br>

    TI公司為TMS320C54x提供了功能強大的C編譯器,支持優化功能。下面就對使用TMS <br>

320C54x C編譯器中的一些體會介紹給讀者。作者在實踐中使用的TMS320C54x C編譯器的 <br>

版本為1.10版,以下的討論都基于該版本。 <br>

2 C語言的移植 <br>

    在進行復雜算法開發時,一般的做法是先在PC上用高級語言(如C語言)進行仿真, <br>

然后再移植到DSP平臺中??紤]到效率問題,可進一步進行手工匯編的調整。編譯器的工 <br>

作方式大致可分為兩類:一類直接由高級語言產生目標代碼;另一類則是先生成中間的 <br>

匯編代碼,再匯編成目標代碼。TI公司提供的C編譯器屬于后者。這樣,用戶可方便地根 <br>

據中間的匯編代碼進行手工調整和改寫。 <br>

    在進行C語言移植時,涉及到兩個問題:一是庫函數的使用,二是字長問題。TI的T <br>

MS320C54x C編譯器提供符合ANSI C的函數庫。至于字長,要取決于硬件機器字長和操作 <br>

系統,但一般來說,在不同的系統中,short型為16位,long型為32位,而int型卻有所 <br>

不同。如,在VC環境中,int型為32位,而對于TMS320C54x C編譯器來說,int型則為16 <br>

位。因此,在將C源程序由仿真環境向TMS320C54x平臺移植時,應根據各變量的取值范圍 <br>

,盡可能地將int型歸類為short型或long型。 <br>

3 段的分配 <br>

    雖然,C語言是一種相對高效的高級語言,并且TI提供的C編譯器還結合硬件特點支 <br>

持三級優化功能,但生成的匯編代碼效率仍可能會不盡人意。如作者預使用環型緩沖區 <br>

管理功能,這就要求該緩沖區應被定位到相對特定的位置。因此,用戶對C編譯器究竟是 <br>

如何進行存儲分配的,應有一定的了解。 <br>



    目標碼是以段為單位組織的。至于TMS320C54x 匯編器是如何具體分配段,而連接器 <br>

又是如何進行連接的,這些并非本文的要旨,詳細內容請參見關于TMS320C54x 匯編/連 <br>

接器的使用一書。這里,僅結合C語言的特點,簡單介紹一下幾種常用段的使用。 <br>

    總的來說,可將所有的段分為兩類:已初始化段和未初始化段。 <br>

    已初始化段中包含數據表和可執行代碼,常用的有3個:.text 段、.cinit段和.co <br>

nst段。其中,.text 段中包含所有可執行的代碼以及常量;.cinit段中包含未用const <br>

聲明的外部(external)或靜態(static)數據表;.const段中則包含已用const聲明的 <br>

外部或靜態數據表以及字符串常量。 <br>

    未初始化段在存儲器(通常為RAM)中保留空間,用于程序運行時創建和存儲變量, <br>

常用的有兩個:.bss段和.stack段。其中,.bss段用于為全局和靜態變量保留空間,在 <br>

程序開始執行時,由C引導程序將.cinit段中的已初始化數據復制到.bss段中。.stack段 <br>

用作C的系統堆棧,向被調函數傳遞參數,并為局部變量分配空間。 <br>

    在上述五個常用段中,.text 段和.cinit段被固定連接至程序空間,存儲器類型可 <br>

以是ROM或RAM(一般為ROM,具體取決于編譯時RAM或ROM方式的選擇);.bss段和.stac <br>

k段則被固定連接至數據空間,存儲器類型只能是RAM。 <br>

    而.const段的使用則較為靈活。.const段被固定連接至數據空間,但存儲器類型可 <br>

以是ROM或RAM。這就有別于.cinit段:.cinit段被連接至程序空間,程序執行時,再被 <br>

復制到數據空間中的.bss段中。這樣,一張未用const聲明的數據表要同時占用程序(. <br>

cinit段)和數據空間(.bss段)的一部分。與之相比較,如果系統支持數據ROM,則該 <br>

數據表改用const聲明后,只需占用數據空間(.const段)的一部分。 <br>

    如果程序較為復雜,由C編譯器生成的.bss段會比較龐大,這種情況下對.bss段進行 <br>

特定操作就比較困難。如將幾個常用的數據表連接至片內RAM,而非片外RAM;或需對某 <br>



個數據表進行特殊尋址。這時,即使目標系統不支持數據ROM,也有必要使用.const段。 <br>

這就需要在連接時對.const段作如下規定:在程序空間中加載,而在數據空間中運行。 <br>

C引導程序對其處理的方法類似與.cinit段,將其從程序空間復制到數據空間。具體實現 <br>

,請參見TMS320C54x C編譯器的用戶指南。但作者在使用1.10版的TMS320C54x C編譯器 <br>

時發現,該版本的引導程序并不支持.const段的加載。通過閱讀C編譯器所帶的庫函數的 <br>

源代碼,參照引導程序對.cinit段的處理,作者修改了該段引導程序,使之支持對.con <br>

st段的加載。 <br>

    除上述五個常見段外,TMS320C54x C編譯器還可能產生兩個段:.switch段和.sysm <br>

em段。其中,.switch段包含用于開關(switch)語句的數據表;而.sysmem段則用于動 <br>

態存儲分配。如果直接使用了匯編,還可能用到.data段以及自命名的已初始化(代碼) <br>

段和未初始化(變量)段。 <br>

4 C與匯編語言的混用 <br>

    在C語言中使用匯編語言,可采取兩種方式:一是調用匯編語言子程序;二是使用嵌 <br>

入匯編。 <br>

4.1 調用匯編語言子程序 <br>

    在TMS320C54x C程序中調用匯編語言子程序,必須遵循其函數調用規則和寄存器使 <br>

用規則。 <br>

    TMS320C54x C編譯器在處理函數調用時,關于如何傳遞入口參數以及如何返回出口 <br>

參數制定了一套嚴格的規則。詳細內容請參見文獻[2]。 <br>

    TMS320C54x 共有8個通用寄存器(AR0~AR7),其中AR1、AR6和AR7可能會被編譯器 <br>

所使用,其中AR1一般用作局部變量暫存,而AR7常被用作全局變量。所以,如果所調用 <br>

的匯編語言子程序中使用了這3個寄存器,應作上下文保護。 <br>



    TMS320C54x C編譯器支持寄存器變量的使用,最多兩個,分別為:AR1和AR6。通常 <br>

的用法是創建全局寄存器變量。較之一般存儲單元,C54x 對寄存器的存取速度最快。因 <br>

此,對一些使用頻率很高的變量來說,將其聲明為寄存器變量,可顯著提高處理速度。 <br>

  <br>

    如果使用了全局寄存器變量,應采用-r選項對所有代碼(包括庫函數)進行重新編 <br>

譯,以禁止C編譯器對AR1或AR6的使用。 <br>

4.2 嵌入匯編 <br>

    雖然TMS320C54x C編譯器提供了三級優化功能,但作者實際使用的體會仍不夠滿意 <br>

。而在C中調用匯編語言子程序,又要求嚴格遵循其參數傳遞規則。由于TMS320C54x C編 <br>

譯器支持在C源代碼中直接用asm語句嵌入匯編,故在C編譯器所產生的中間匯編代碼的基 <br>

礎上,可局部使用嵌入匯編。這樣,一方面可大大提高一些頻繁使用的代碼段的效率, <br>

另一方面,又不用改變原來的函數框架,也便于對照仿真結果進行調試。 <br>

    在進行嵌入匯編時,要特別注意流水線的沖突。TMS320C54x 采用6級流水線結構, <br>

在出現流水線沖突的地方,可插入空操作(nop)指令來解決。常見的易產生流水線沖突 <br>

的指令如STLM、ADDM等。 <br>

    關于1.10版,還有一個值得注意的問題,即如何由兩個短整數獲得32位的長整數乘 <br>

積。 <br>

如: <br>

    short    m1,m2; <br>

    long     result; <br>

    result = (long) (m1 * m2);         (1) <br>

    result = ((long) m1 * (long) m2);  (2) <br>



    對于(1),1.10版的編譯器只是將乘積的低16位存入result;而對于(2),得到的是 <br>

一個32位的長整數乘積,但卻是調用了兩個長整數相乘的庫函數(L$$MPY)而得到的, <br>

這對于含有大量乘加運算的DSP應用來說,效率上難以令人接受。為此,采用嵌入匯編可 <br>

方便地解決這個問題。 <br>

5 結語 <br>

    上述討論中的1.10版的TMS320C54x C編譯器是一個DOS下的工具,相應的仿真調試環 <br>

境也不夠友好。目前,TI公司針對TMS320C54x 系列已經推出了一個功能強大的集成開發 <br>

環境。 <br>

參 考 文 獻 <br>

1 TMS320C54x Optimizing C Compilier User’s Guide. Texas Instruments Inc., 1 <br>

997 <br>

2 TMS320C54x Assembly Language Tools User’s Guide. Texas Instruments Inc., <br>

1997 <br>

3 TMS320C54x DSP CPU and Peripherals. Texas Instruments Inc., 1996 <br>

4 TMS320C54x DSP Mnomonic Instruction Set. Texas Instruments Inc., 1996  <br>

  <br>

-- <br>

  <br>

※ 來源:·BBS 水木清華站 smth.edu.cn·[FROM: 166.111.151.169] <br>

</small><hr>
<p align="center">[<a href="DSP開發技術.htm">回到開始</a>][<a href="6.htm">上一層</a>][<a href="93.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">歡迎訪問Cterm主頁</a></p>
</table>
</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品一区二区三区| 亚洲午夜久久久久中文字幕久| 国产欧美日韩三级| 国产精品夜夜嗨| 久久综合狠狠综合久久综合88| 美女久久久精品| 久久久高清一区二区三区| 99精品桃花视频在线观看| 国产精品77777竹菊影视小说| 美女脱光内衣内裤视频久久影院| 婷婷一区二区三区| 国产精品午夜免费| 在线观看亚洲a| 久久国产精品99久久人人澡| 日本一区二区三区国色天香 | 成人av在线播放网址| 亚洲男人的天堂一区二区| 在线观看亚洲a| 91精品国产综合久久精品图片| 国产一区二区毛片| 亚洲va中文字幕| 亚洲欧美自拍偷拍| ww久久中文字幕| 中文字幕乱码日本亚洲一区二区| 欧美人与性动xxxx| 91社区在线播放| 国产最新精品精品你懂的| 舔着乳尖日韩一区| 国产一区二区精品久久91| 91欧美激情一区二区三区成人| 在线观看视频欧美| 久久亚洲精品小早川怜子| 国产精品乱子久久久久| 亚洲v精品v日韩v欧美v专区| 国产精品1024| 国产美女娇喘av呻吟久久| 成人激情小说乱人伦| 欧美日本免费一区二区三区| 中文字幕乱码日本亚洲一区二区| 亚洲国产wwwccc36天堂| 成人免费视频播放| av日韩在线网站| bt欧美亚洲午夜电影天堂| 欧美丰满少妇xxxxx高潮对白| 欧美日韩一区二区三区四区| 在线观看成人免费视频| 久久久www免费人成精品| 日韩一区欧美二区| 日本亚洲最大的色成网站www| 日韩在线播放一区二区| av成人免费在线| 国产欧美日韩一区二区三区在线观看| 午夜精品久久久久久不卡8050| 成人激情文学综合网| www日韩大片| 狂野欧美性猛交blacked| 欧美视频日韩视频| 日韩天堂在线观看| 亚洲精品在线免费播放| 日本一区二区三区四区在线视频| 男女性色大片免费观看一区二区| 裸体在线国模精品偷拍| 欧美日韩精品一区二区三区四区| 日韩美女视频一区| 舔着乳尖日韩一区| 在线观看国产精品网站| 亚洲精品日产精品乱码不卡| 夜夜嗨av一区二区三区网页| 首页国产欧美日韩丝袜| 欧美又粗又大又爽| 综合中文字幕亚洲| 波多野结衣亚洲| 国产蜜臀97一区二区三区| 高清国产一区二区| 欧美精品一二三| 亚洲第一电影网| 欧美日韩中文字幕一区| 亚洲一线二线三线视频| 国产一区二区三区综合| 亚洲精品一区二区三区香蕉 | 久久亚洲私人国产精品va媚药| 日本视频一区二区三区| 日韩午夜电影av| 国产麻豆精品theporn| 久久久久久久久久久久电影| 国产美女在线观看一区| 国产精品污www在线观看| 成人美女在线观看| 亚洲精品视频免费看| 欧美日韩国产一区| 日韩和欧美的一区| 久久久蜜桃精品| 99riav一区二区三区| 亚洲福利视频一区二区| 欧美一区二区精美| 亚洲激情校园春色| 欧美日韩电影在线| 国产在线精品一区二区三区不卡| 久久精品一级爱片| 免费成人在线网站| 欧美国产综合色视频| 99精品视频在线观看| 亚洲超丰满肉感bbw| 欧美精品一区二区三| 成人高清免费观看| 五月综合激情网| 久久久久久久综合色一本| 在线视频观看一区| 韩国女主播成人在线观看| 亚洲欧洲中文日韩久久av乱码| 欧洲精品中文字幕| 国产麻豆一精品一av一免费| 综合激情成人伊人| 国产亚洲欧美一级| 欧美精品在线观看播放| 国产成人亚洲综合a∨猫咪| 亚洲福利一区二区| 国产精品欧美久久久久一区二区| 在线播放91灌醉迷j高跟美女| 国产宾馆实践打屁股91| 日韩精品成人一区二区三区| 中文字幕电影一区| 欧美大尺度电影在线| 国产欧美日韩在线| 91精品国产免费久久综合| 成人午夜在线播放| 奇米精品一区二区三区在线观看 | av动漫一区二区| 奇米在线7777在线精品| 亚洲免费电影在线| 亚洲国产精品av| 精品久久人人做人人爽| 欧美日韩国产一区| 色哟哟国产精品免费观看| 18成人在线视频| 久久午夜羞羞影院免费观看| 欧美日韩一区不卡| 日本大香伊一区二区三区| 亚洲五码中文字幕| 亚洲视频1区2区| 中文字幕精品—区二区四季| 精品国精品自拍自在线| 欧洲另类一二三四区| 欧美精品日日鲁夜夜添| 色哟哟一区二区在线观看| av亚洲精华国产精华| 国产成人综合视频| 国产大陆亚洲精品国产| 国产一区二区在线免费观看| 美女一区二区三区| 捆绑调教一区二区三区| 日本麻豆一区二区三区视频| 亚洲风情在线资源站| 亚洲自拍偷拍图区| 亚洲国产日韩精品| 亚洲v日本v欧美v久久精品| 午夜精品福利在线| 日本欧美大码aⅴ在线播放| 日韩电影在线一区二区三区| 中文字幕五月欧美| 亚洲黄色在线视频| 亚洲与欧洲av电影| 日韩精品欧美精品| 久久奇米777| 亚洲视频在线一区观看| 亚洲欧洲av色图| 亚洲天堂成人在线观看| 亚洲免费观看高清完整版在线| 亚洲一区二区偷拍精品| 日韩福利电影在线| 日韩av一区二区在线影视| 精品一区二区免费在线观看| 久久亚洲一级片| 国产精品卡一卡二| 91.xcao| 久久日一线二线三线suv| 中文字幕成人av| 亚洲一区免费在线观看| 丝袜脚交一区二区| 国产成人一区二区精品非洲| 欧美又粗又大又爽| 欧美不卡一二三| 亚洲色图色小说| 久久精品国产精品青草| av在线不卡电影| 欧美一区二区三区在线看| 久久九九99视频| 亚洲一区免费在线观看| 国产高清不卡一区| 欧美日韩一区小说| 中文欧美字幕免费| 亚洲va欧美va人人爽午夜| 国产成人综合网| 欧美一级免费大片| 亚洲丝袜另类动漫二区| 黄色小说综合网站| 欧美蜜桃一区二区三区 | 麻豆精品新av中文字幕| 风间由美性色一区二区三区| 欧美精品国产精品|