• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      TMS320C54x系列DSP應(yīng)用初探

      2014-12-31 00:00:00姜小濤
      電子世界 2014年10期

      【摘要】本文介紹了TMS320C54x系列DSP的存儲結(jié)構(gòu),詳細(xì)討論了存儲器和存儲空間的映射關(guān)系,分析了存儲空間的配置方法,并結(jié)合實(shí)例給出了C5410型DSP的存儲器映射關(guān)系和鏈接配置文件。

      【關(guān)鍵詞】DSP;存儲器;存儲空間;映射;鏈接配置文件

      1.引言

      根據(jù)應(yīng)用設(shè)計(jì)的需求,對DSP可用存儲空間的分析和配置是開發(fā)過程的第一步,也是設(shè)計(jì)者需要考慮的關(guān)鍵問題,因此,存儲空間分配的好壞不僅關(guān)系到開發(fā)設(shè)計(jì)的成敗,而且反映了一個(gè)DSP程序員的水平和經(jīng)驗(yàn)。對于DSP,我們總是遇到這樣的兩個(gè)名詞,存儲器(RAM、ROM、EPROM和FLASH等)和存儲空間(程序存儲空間、數(shù)據(jù)存儲空間和I/O存儲空間)。而這兩個(gè)名詞又總是阻礙著DSP設(shè)計(jì)者前進(jìn)的腳步,使之望而卻步。為此,本文首先探討存儲器和存儲空間的映射關(guān)系的問題。同時(shí),由于DSP的廣泛應(yīng)用,程序代碼不斷地增大,這就涉及到本文要探討地第二個(gè)問題,如何合理地配置DSP的存儲空間,使之更好地利用DSP地內(nèi)部資源,并以C5410型DSP為例,給出了存儲空間配置的CMD文件。

      2.C54x系列DSP的存儲結(jié)構(gòu)

      C54x系列DSP一般有192K字的存儲空間,分為三個(gè)相互獨(dú)立可選擇的空間:64K字的程序存儲空間、64K字的數(shù)據(jù)存儲空間和64K字的I/O存儲空間[1]。其中程序存儲空間存放待執(zhí)行的指令和執(zhí)行過程中所需要的系數(shù)表(數(shù)學(xué)用表,常數(shù)),可使用片內(nèi)或片外的RAM、ROM或FLASH等來構(gòu)成;數(shù)據(jù)存儲空間存放指令執(zhí)行過程中產(chǎn)生的數(shù)據(jù),可使用片內(nèi)或片外的RAM和ROM來構(gòu)成;I/O存儲空間提供與外部存儲器映射的接口,也可以作為外部數(shù)據(jù)存儲空間使用。

      C54x系列DSP片內(nèi)都有隨機(jī)存儲器(RAM)和只讀存儲器(ROM),而RAM又分為兩種類型:DARAM(雙訪問RAM,每個(gè)機(jī)器周期可以訪問2次)和SARAM(單訪問RAM,每個(gè)機(jī)器周期只能訪問1次)。

      3.存儲器和存儲空間的映射關(guān)系

      3.1 片內(nèi)存儲器映射

      針對存儲器和存儲空間兩個(gè)不同的概念,本節(jié)詳細(xì)分析C54x系列DSP的片內(nèi)存儲器的映射關(guān)系。

      C54x通過處理器工作方式的狀態(tài)寄存器(PMST)中的3個(gè)狀態(tài)位,來選擇片內(nèi)存儲器作為程序空間或數(shù)據(jù)空間。這3個(gè)狀態(tài)位是:

      (1)MP/MC位,決定是否使能片內(nèi)ROM。MP/MC=0,片內(nèi)ROM使能,映射到程序空間;MP/MC=1,則片內(nèi)ROM不使能,此時(shí)將不會用到DSP的自引導(dǎo)程序。系統(tǒng)僅在復(fù)位時(shí)采樣一次MP/MC引腳,并將引腳值傳遞給MP/MC位,而復(fù)位后便可通過軟件設(shè)置MP/MC位來禁止或使能片上ROM。在使用仿真器開發(fā)程序時(shí),需要將MP/MC置為1,此時(shí)DSP處于微處理器方式,應(yīng)用程序通過TI公司的DSP開發(fā)軟件CCS(Code Composer Studio)在線寫入程序存儲區(qū);在DSP脫機(jī)運(yùn)行時(shí),需要將MP/MC清0,此時(shí)DSP處于微計(jì)算機(jī)方式,DSP在上電或復(fù)位后,其片內(nèi)ROM中的自舉加載程序?qū)紫茸詣舆\(yùn)行,將用戶程序代碼移入程序空間后,再將控制權(quán)交給用戶代碼[3]。

      (2)OVLY位。OVLY=1,則片內(nèi)RAM映射到程序和數(shù)據(jù)空間,程序在RAM中運(yùn)行;OVLY=0,則片內(nèi)RAM只映射到數(shù)據(jù)存儲空間,此時(shí)可用一個(gè)外部FLASH映射到程序空間,程序可在其中運(yùn)行。顯然這種方式不如程序在片內(nèi)RAM中執(zhí)行速度快。

      (3)DROM位。對于不同型號的DSP,DROM代表不同的意義。C542、C543、C548片內(nèi)只有2K字ROM,如前所述這2K字的內(nèi)容是由TI公司定義的,不可修改,也不能用作用戶程序區(qū)和數(shù)據(jù)區(qū),因此DROM位對此類器件并無影響。對C541、C545、C546、C549、C5402而言,DROM位決定片內(nèi)的ROM是否部分映射到數(shù)據(jù)空間:DROM=1,部分片內(nèi)ROM映射到數(shù)據(jù)空間;DROM=0,片內(nèi)ROM不映射到數(shù)據(jù)空間。而對C5410、C5416、C5420(無片內(nèi)ROM)而言,片內(nèi)ROM并不映射到數(shù)據(jù)空間,此時(shí)DROM位決定數(shù)據(jù)空間的高32K字是由片內(nèi)的RAM構(gòu)成還是由片外的RAM構(gòu)成:DROM=1,片內(nèi)排列的第二組32K字(片內(nèi)RAM的排列是先排DARAM,再排SARAM,32K為一組。

      3.2 程序存儲空間的分頁擴(kuò)展

      程序設(shè)計(jì)者可根據(jù)片內(nèi)存儲器的大小和不同的應(yīng)用需求,相應(yīng)地配置這3個(gè)位,使系統(tǒng)的存儲空間滿足應(yīng)用要求。但是由于程序代碼的不斷增長,64K的程序空間已不能滿足需要,所以C54x系列DSP從C548開始,地址線增加到了23根(C5402為20根,C5420為18根),具有8M字的尋址空間(引入了頁的概念,每頁64K字),為此還增加了一個(gè)額外的存儲器映像寄存器程序計(jì)數(shù)器擴(kuò)展寄存器XPC(當(dāng)前程序空間地址的高7位),以及6條尋址擴(kuò)展程序空間的指令。

      4.存儲空間的配置

      4.1 簡單分析

      在這里,我們以TMS320C5410為例介紹如何配置存儲空間。C5410片內(nèi)有16K字ROM,8K字DARAM和56K字SARAM。由于片內(nèi)ROM的不易修改性和RAM的掉電易失性,因此外加一個(gè)64K字的FLASH存儲器(映射到程序空間),用來存儲用戶程序和引導(dǎo)程序。自己編寫上電引導(dǎo)程序,并和用戶程序代碼一起燒寫到位于程序空間的FLASH中

      4.2 CMD文件的編寫

      匯編器和鏈接器產(chǎn)生的目標(biāo)文件采用COFF(Common Object File Format)公共目標(biāo)文件格式,代碼和數(shù)據(jù)塊是按段(Section)來組織和存儲的,便于模塊化編程。鏈接器的作用是將由匯編器產(chǎn)生的OBJ文件(目標(biāo)文件)作為輸入塊,將相應(yīng)的段結(jié)合在一起產(chǎn)生可執(zhí)行的輸出模塊,并將輸出的段分配到存儲器中的指定地址[5]。完成這個(gè)任務(wù)的是CMD文件(鏈接器配置文件或鏈接命令文件),簡稱為命令文件。其中關(guān)鍵是MEMORY和SECTIONS兩個(gè)偽指令的使用。

      CMD文件由3部分組成:

      ①輸入/輸出文件定義:.obj文件:鏈接器要鏈接的目標(biāo)文件;.lib文件:鏈接器要鏈接的庫文件;.map文件:鏈接器生成的存儲器映射文件;.out文件:鏈接器生成的可執(zhí)行代碼文件;

      ②MEMORY命令:配置目標(biāo)存儲器,建立模型;

      ③SECTIONS命令:根據(jù)這個(gè)模型來安排各個(gè)段的存放位置。

      按照上節(jié)例子,程序中需要定義了四個(gè)基本的段,段名分別取為“.text”、“.vectors”、“.boot”和“.table”,它們的內(nèi)容分別對應(yīng)于用戶程序、中斷向量表、上電引導(dǎo)程序和引導(dǎo)表。燒寫程序完成把四個(gè)段的內(nèi)容燒寫到FLASH存儲器中。另外,還有“.bss”、“.data”和“.stack”,它們的內(nèi)容分別對應(yīng)于未初始化的變量、初始化的數(shù)據(jù)和堆棧段。本例中,假設(shè)“.text”段的長度位1000H,它被燒寫到FLASH中從08000H開始的存儲單元,上電后將被加載到程序空間中從2000H開始的存儲單元中。

      5.結(jié)束語

      隨著DSP應(yīng)用領(lǐng)域的不斷拓廣,程序代碼的不斷增加,使得存儲空間的配置顯得越來越重要。根據(jù)開發(fā)需求選擇合適的DSP芯片,并加以擴(kuò)展的片外存儲器,正確地劃分程序和數(shù)據(jù)空間中各段的大小,合理地配置存儲空間,將使空間利用率大大提高。

      參考文獻(xiàn)

      [1]支長義,程志平,陳書立.等.DSP原理及開發(fā)應(yīng)用[M].北京航空航天大學(xué)出版社,2010.8.

      [2]胡海鵬,魏豐.TMS320C54X系列DSP存儲空間的配置方法研究[J].電測與儀表,2012年第6期.

      屏东市| 黄龙县| 周宁县| 庆云县| 久治县| 阿克苏市| 贵定县| 桃园市| 牡丹江市| 清丰县| 白朗县| 石河子市| 石城县| 浑源县| 偏关县| 织金县| 含山县| 凤庆县| 大关县| 阆中市| 娄烦县| 新河县| 武城县| 文化| 广西| 宜都市| 威信县| 重庆市| 无极县| 光泽县| 亚东县| 新营市| 洪泽县| 林州市| 阿图什市| 响水县| 丹阳市| 临沭县| 肇庆市| 南投市| 合水县|