DSP芯片的存儲(chǔ)資源管理課件_第1頁
DSP芯片的存儲(chǔ)資源管理課件_第2頁
DSP芯片的存儲(chǔ)資源管理課件_第3頁
DSP芯片的存儲(chǔ)資源管理課件_第4頁
DSP芯片的存儲(chǔ)資源管理課件_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DSP芯片一般采用哈佛結(jié)構(gòu),這種結(jié)構(gòu)將程序區(qū)、數(shù)據(jù)區(qū)和I/O區(qū)分開,每個(gè)存儲(chǔ)區(qū)獨(dú)立編址。為了提高運(yùn)算速度,DSP芯片內(nèi)部提供了一定數(shù)量的存儲(chǔ)器,用于存放程序和數(shù)據(jù)。存儲(chǔ)器存儲(chǔ)器主要用于存儲(chǔ)程序、數(shù)據(jù)、變量等片內(nèi)存儲(chǔ)器,片外存儲(chǔ)器。片內(nèi)存儲(chǔ)器主要有ROM、RAM和flash等類型。不同類型的DSP芯片提供的片內(nèi)存儲(chǔ)器的類型和數(shù)量不同。ROM通用的DSP芯片中的ROM一般都包括引導(dǎo)裝載(Bootloader)程序和中斷矢量表。TMS320C54系列還有若干常用的數(shù)據(jù)表格,如正弦函數(shù)表、語音PCM編碼用的μ/律擴(kuò)展數(shù)據(jù)表RAMDSP芯片中RAM有SARAM和DARAM兩種。SARAM稱為單訪問RAM,即每個(gè)SARAM在1個(gè)機(jī)器周期內(nèi)只能被訪問1次,也就是說,每個(gè)機(jī)器周期只能進(jìn)行1次讀或?qū)懖僮?。DARAM稱為雙訪問存儲(chǔ)器,每個(gè)DARAM在1個(gè)機(jī)器周期內(nèi)能被訪問兩次,因此在同一個(gè)周期內(nèi),CPU和外設(shè)(如BSP和HPI)可以對(duì)DARAM進(jìn)行讀和寫操作。RAM可以作為數(shù)據(jù)區(qū)或程序區(qū)使用,有些RAM空間還可以同時(shí)映射到程序和數(shù)據(jù)空間。Flash有些DSP芯片提供有較大空間的Flash存儲(chǔ)器(如TMS320F280x/F281x、TMS320LF240x),便于用戶直接將程序和固定數(shù)據(jù)寫入到Flash中運(yùn)行。片內(nèi)Flash存儲(chǔ)器被映射到程序存儲(chǔ)器。一般帶有Flash的DSP芯片都提供加密功能,加密后,外部不能讀出Flash中的內(nèi)容。外部擴(kuò)展存儲(chǔ)器片內(nèi)沒有Flash的DSP芯片,一般都提供外部擴(kuò)展總線,便于用戶擴(kuò)展外部存儲(chǔ)空間。外部擴(kuò)展存儲(chǔ)器常用于存放用戶程序。Flash用戶程序一般在加電開機(jī)后有DSP芯片內(nèi)部ROM中的Bootloader將存放在外部存儲(chǔ)器中的用戶程序引導(dǎo)加載到片內(nèi)RAM高速運(yùn)行。如果片內(nèi)RAM空間不夠大,也可擴(kuò)展外部RAM。如果僅用于存放用戶程序,由于還要Bootloader引導(dǎo)加載,因此存儲(chǔ)器寬度是8位或16位;而如果用戶程序需要在外部存儲(chǔ)器中運(yùn)行,則擴(kuò)展存儲(chǔ)器的數(shù)據(jù)寬度需與指令寬度相同(如定點(diǎn)芯片的16位、浮點(diǎn)芯片的32位)。即使外部存儲(chǔ)器的速度足夠快,也比不上程序在片內(nèi)的運(yùn)行速度。因此,系統(tǒng)設(shè)計(jì)是應(yīng)盡可能選擇片內(nèi)RAM較大的DSP芯片,并將程序全部放在片內(nèi)運(yùn)行。DSP芯片中的代碼存儲(chǔ)結(jié)構(gòu)采用COFF格式,有利于模塊化編程,并且為管理程序代碼和系統(tǒng)存儲(chǔ)空間提供靈活的方法?;贑OFF格式編寫匯編程序或C程序時(shí),不必為程序代碼或變量指定目標(biāo)地址,為程序編寫、程序移植、程序升級(jí)提供了極大的方便。COFF文件格式的核心是使程序員在編寫DSP程序時(shí)基于代碼塊和數(shù)據(jù)塊的概念,而不是一條條指令或一個(gè)個(gè)數(shù)據(jù)。

COFF文件格式將代碼塊和數(shù)據(jù)塊稱為section,一個(gè)塊(section)就是最終在存儲(chǔ)器映象中占據(jù)連續(xù)空間的一段代碼或數(shù)據(jù)。編譯器/匯編器和鏈接器都提供了有關(guān)的命令來創(chuàng)建塊和對(duì)塊進(jìn)行處理,編譯器/匯編器創(chuàng)建的塊得名稱有些是已經(jīng)定義好的,程序員也可自己定義塊名。目標(biāo)文件中的每一個(gè)塊都是相互獨(dú)立的,一般地,COFF目標(biāo)文件應(yīng)該包括三個(gè)默認(rèn)的塊:.text塊通常包括可執(zhí)行代碼.data塊通常包括已經(jīng)初始化的變量;.bss塊通常為未初始化的變量保留空間

未初始化塊是為未初始化的數(shù)據(jù)在存儲(chǔ)器映像中保留空間,.bss和用.usect匯編命令創(chuàng)建的塊屬于這一類。匯編器提供了若干將各種代碼和數(shù)據(jù)段與相應(yīng)的塊聯(lián)系的命令,匯編器是在匯編過程中建立這些塊的。外部EPROM外部EPROM已初始化的程序存儲(chǔ)器.text.data.bss目標(biāo)文件片內(nèi)RAM未初始化的數(shù)據(jù)存儲(chǔ)器匯編器對(duì)塊的處理功能主要是確定匯編語言程序的各部分屬于哪個(gè)特定的塊。匯編器用.text、.data、.sect、.asect、.bss、.usect命令完成對(duì)塊的定位。其中,.text、.data、.sect和.asect命令建立已初始化的塊,.bss和.usect命令則用來建立未初始化的塊。如果程序中沒有用任何命令對(duì)塊進(jìn)行操作,則匯編器將把所有的程序塊或數(shù)據(jù)塊統(tǒng)一匯編到.text塊中。匯編器對(duì)已初始化塊的處理已初始化塊包括已初始化的數(shù)據(jù)和程序代碼。這部分塊的內(nèi)容存儲(chǔ)在目標(biāo)文件中。當(dāng)程序下載時(shí)被下載到存儲(chǔ)器中。每個(gè)已初始化塊可以獨(dú)立地進(jìn)行重定位,并且可以引用其他塊中定義的變量。鏈接器可以自動(dòng)解決塊與塊之間變量引用的問題。下面4個(gè)命令將代碼或數(shù)據(jù)存放在一個(gè)塊中,其命令格式如下:.text匯編器對(duì)未初始化塊的處理未初始化塊在存儲(chǔ)器中為沒有初始化的數(shù)據(jù)保留空間,它們通常被分配到RAM中。程序在運(yùn)行時(shí)利用這些空間創(chuàng)建和存儲(chǔ)變量。匯編器用.bss和.usect命令建立未初始化塊。其中,.bss命令在.bss塊中保留空間,.usect命令在自定義的塊中保留空間。它們的命令格式如下:.bss

變量,塊大小變量.usect“塊名”,塊大小匯編器遇到.bss和.usect命令時(shí)并不結(jié)束當(dāng)前塊,只是暫時(shí)離開當(dāng)前塊而去創(chuàng)建一個(gè)新塊。所以,.bss和.usect命令可以出現(xiàn)在一個(gè)已初始化塊中的任何地方,而不影響已初始化塊的內(nèi)容。匯編器對(duì)自定義塊的處理自定義塊是程序員自己建立的塊,它與默認(rèn)的.text、.data和.bss塊的使用方法相同,而與默認(rèn)塊是分開匯編的。程序員可以用.usect、.sect和.asect命令建立自定義的塊。其中,.usect建立的塊用來在RAM中為變量保留空間,其用法類似于.bss塊;.sect和.asect建立包括代碼和數(shù)據(jù)的塊,用法類似于.text塊和.data塊。.sect命令建立的塊是可重定位的,.asect命令建立的塊是具有絕對(duì)地址的塊,是不能重定位的。它們的命令格式如下:變量.usect“塊名”,塊大小.sect“塊名”.asect“塊名”,地址塊的鏈接

鏈接器對(duì)塊的處理主要包括下面2個(gè)方面。首先,鏈接器將COFF目標(biāo)文件中的塊建立為程序塊或數(shù)據(jù)塊并以這些塊作為輸入塊,鏈接器再把這些輸入塊組合起來以建立可執(zhí)行的COFF輸出模塊。然后,鏈接器為輸出塊選擇存儲(chǔ)器地址。鏈接器提供Memory和Sections2個(gè)命令來完成上述工作。其中,Memory命令定義目標(biāo)系統(tǒng)的存儲(chǔ)器分配,程序員可以通過指定存儲(chǔ)器起始地址和長(zhǎng)度來定義每一塊存儲(chǔ)器。Sections命令定義如何組合輸入塊以及在存儲(chǔ)器何處存放輸出塊。若不用這二條命令,鏈接器就會(huì)采用默認(rèn)的分配方法;若采用這二條命令,則需要在鏈接器命令文件(擴(kuò)展名為.cmd)中確定。用戶編寫的C源程序經(jīng)過C編譯器的處理后,轉(zhuǎn)化為具有相同功

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論