版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色交通合伙清算合作協(xié)議3篇
- 二零二五年度全款購(gòu)房合同:房地產(chǎn)項(xiàng)目投資并購(gòu)及整合協(xié)議3篇
- 2025年度農(nóng)業(yè)現(xiàn)代化貸款擔(dān)保協(xié)議3篇
- 2025年度全新官方版二零二五年度離婚協(xié)議書與子女監(jiān)護(hù)權(quán)協(xié)議3篇
- 二零二五年度知識(shí)產(chǎn)權(quán)侵權(quán)律師費(fèi)協(xié)議3篇
- 二零二五年度農(nóng)村土地占用與農(nóng)村文化傳承合同協(xié)議
- 2025年度航空航天公司干股分紅與飛行器研發(fā)合作協(xié)議3篇
- 二零二五年度衛(wèi)浴安裝與智能家居系統(tǒng)集成與優(yōu)化服務(wù)協(xié)議3篇
- 二零二五年度太陽能電池板加工服務(wù)合同3篇
- 二零二五年度物聯(lián)網(wǎng)解決方案公司轉(zhuǎn)讓合同3篇
- GIS組合電器概述
- 水廠分布式光伏項(xiàng)目(設(shè)備采購(gòu))實(shí)施組織方案及售后服務(wù)方案
- 污水處理廠技術(shù)副廠長(zhǎng)競(jìng)聘報(bào)告
- 2021年機(jī)務(wù)檢修試題庫
- 一年級(jí)學(xué)生英語學(xué)科評(píng)語
- 來料檢驗(yàn)員工作總結(jié)
- 工商企業(yè)管理專業(yè)教學(xué)資源庫申報(bào)書-專業(yè)教學(xué)資源庫備選項(xiàng)目材料
- 急診科副主任個(gè)人工作述職報(bào)告
- 硬件工程師年終總結(jié)報(bào)告
- 音樂盛典策劃方案
- 學(xué)校新媒體管理制度規(guī)章
評(píng)論
0/150
提交評(píng)論