DSP處理器與通用處理器的比較
DSP處理器與通用處理器的比較
1 對(duì)密集的乘法運(yùn)算的支持
GPP不是設(shè)計(jì)來做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個(gè)指令周期來做一次乘法。而DSP處理器使用專門的硬件來實(shí)現(xiàn)單周期乘法。DSP處理器還增加了累加器寄存器來處理多個(gè)乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。
同時(shí),為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。
2 存儲(chǔ)器結(jié)構(gòu)
傳統(tǒng)上,GPP使用馮.諾依曼存儲(chǔ)器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個(gè)存儲(chǔ)器空間通過一組總線(一個(gè)地址總線和一個(gè)數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會(huì)發(fā)生4次存儲(chǔ)器訪問,用掉至少四個(gè)指令周期。
大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲(chǔ)器空間劃分成兩個(gè),分別存儲(chǔ)程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時(shí)對(duì)它們進(jìn)行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時(shí)為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實(shí)現(xiàn)單周期的MAC指令。
還有一個(gè)問題,即現(xiàn)在典型的高性能GPP實(shí)際上已包含兩個(gè)片內(nèi)高速緩存,一個(gè)是數(shù)據(jù),一個(gè)是指令,它們直接連接到處理器核,以加快運(yùn)行時(shí)的訪問速度。從物理上說,這種片內(nèi)的雙存儲(chǔ)器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。
GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲(chǔ)在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個(gè)片內(nèi)存儲(chǔ)器和多組總線來保證每個(gè)指令周期內(nèi)存儲(chǔ)器的多次訪問。在使用DSP時(shí),程序員要明確地控制哪些數(shù)據(jù)和指令要存儲(chǔ)在片內(nèi)存儲(chǔ)器中。程序員在寫程序時(shí),必須保證處理器能夠有效地使用其雙總線。
此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存。這是因?yàn)镈SP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對(duì)每個(gè)數(shù)據(jù)樣本做計(jì)算后,就丟棄了,幾乎不再重復(fù)使用。
3 零開銷循環(huán)
如果了解到DSP算法的一個(gè)共同的特點(diǎn),即大多數(shù)的處理時(shí)間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán)。所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時(shí),不用花時(shí)間去檢查循環(huán)計(jì)數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計(jì)數(shù)器減1。
與此相反,GPP的循環(huán)使用軟件來實(shí)現(xiàn)。某些高性能的GPP使用轉(zhuǎn)移預(yù)報(bào)硬件,幾乎達(dá)到與硬件支持的零開銷循環(huán)同樣的效果。
4 定點(diǎn)計(jì)算
大多數(shù)DSP使用定點(diǎn)計(jì)算,而不是使用浮點(diǎn)。雖然DSP的應(yīng)用必須十分注意數(shù)字的精確,用浮點(diǎn)來做應(yīng)該容易的多,但是對(duì)DSP來說,廉價(jià)也是非常重要的。定點(diǎn)機(jī)器比起相應(yīng)的浮點(diǎn)機(jī)器來要便宜(而且更快)。為了不使用浮點(diǎn)機(jī)器而又保證數(shù)字的準(zhǔn)確,DSP處理器在指令集和硬件方面都支持飽和計(jì)算、舍入和移位。
5 專門的尋址方式
DSP處理器往往都支持專門的尋址模式,它們對(duì)通常的信號(hào)處理操作和算法是很有用的。例如,模塊(循環(huán))尋址(對(duì)實(shí)現(xiàn)數(shù)字濾波器延時(shí)線很有用)、位倒序?qū)ぶ罚▽?duì)FFT很有用)。這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實(shí)現(xiàn)。
6 執(zhí)行時(shí)間的預(yù)測(cè)
大多數(shù)的DSP應(yīng)用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴(yán)格的實(shí)時(shí)應(yīng)用,所有的處理必須在指定的時(shí)間內(nèi)完成。這就要求程序員準(zhǔn)確地確定每個(gè)樣本需要多少處理時(shí)間,或者,至少要知道,在最壞的情況下,需要多少時(shí)間。
如果打算用低成本的GPP去完成實(shí)時(shí)信號(hào)處理的任務(wù),執(zhí)行時(shí)間的預(yù)測(cè)大概不會(huì)成為什么問題,應(yīng)為低成本GPP具有相對(duì)直接的結(jié)構(gòu),比較容易預(yù)測(cè)執(zhí)行時(shí)間。然而,大多數(shù)實(shí)時(shí)DSP應(yīng)用所要求的處理能力是低成本GPP所不能提供的。
這時(shí)候,DSP對(duì)高性能GPP的優(yōu)勢(shì)在于,即便是使用了高速緩存的DSP,哪些指令會(huì)放進(jìn)去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲(chǔ)器中讀取。DSP一般不使用動(dòng)態(tài)特性,如轉(zhuǎn)移預(yù)測(cè)和推理執(zhí)行等。因此,由一段給定的代碼來預(yù)測(cè)所要求的執(zhí)行時(shí)間是完全直截了當(dāng)?shù)?。從而使程序員得以確定芯片的性能限制。
7 定點(diǎn)DSP指令集
定點(diǎn)DSP指令集是按兩個(gè)目標(biāo)來設(shè)計(jì)的:
使處理器能夠在每個(gè)指令周期內(nèi)完成多個(gè)操作,從而提高每個(gè)指令周期的計(jì)算效率。
將存貯DSP程序的存儲(chǔ)器空間減到最?。ㄓ捎诖鎯?chǔ)器對(duì)整個(gè)系統(tǒng)的成本影響甚大,該問題在對(duì)成本敏感的DSP應(yīng)用中尤為重要)。
為了實(shí)現(xiàn)這些目標(biāo),DSP處理器的指令集通常都允許程序員在一個(gè)指令內(nèi)說明若干個(gè)并行的操作。例如,在一條指令包含了MAC操作,即同時(shí)的一個(gè)或兩個(gè)數(shù)據(jù)移動(dòng)。在典型的例子里,一條指令就包含了計(jì)算FIR濾波器的一節(jié)所需要的所有操作。這種高效率付出的代價(jià)是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。
GPP的程序通常并不在意處理器的指令集是否容易使用,因?yàn)樗麄円话闶褂孟驝或C++等高級(jí)語言。而對(duì)于DSP的程序員來說,不幸的是主要的DSP應(yīng)用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的)。這里有兩個(gè)理由:首先,大多數(shù)廣泛使用的高級(jí)語言,例如C,并不適合于描述典型的DSP算法。其次,DSP結(jié)構(gòu)的復(fù)雜性,如多存儲(chǔ)器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器。
即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務(wù)仍然很重。典型的DSP應(yīng)用都具有大量計(jì)算的要求,并有嚴(yán)格的開銷限制,使得程序的優(yōu)化必不可少(至少是對(duì)程序的最關(guān)鍵部分)。因此,考慮選用DSP的一個(gè)關(guān)鍵因素是,是否存在足夠的能夠較好地適應(yīng)DSP處理器指令集的程序員。
8 開發(fā)工具的要求
因?yàn)镈SP應(yīng)用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作。例如,大多數(shù)廠商都提供處理器的仿真工具,以準(zhǔn)確地仿真每個(gè)指令周期內(nèi)處理器的活動(dòng)。無論對(duì)于確保實(shí)時(shí)操作還是代碼的優(yōu)化,這些都是很有用的工具。
GPP廠商通常并不提供這樣的工具,主要是因?yàn)镚PP程序員通常并不需要詳細(xì)到這一層的信息。GPP缺乏精確到指令周期的仿真工具,是DSP應(yīng)用開發(fā)者所面臨的的大問題:由于幾乎不可能預(yù)測(cè)高性能GPP對(duì)于給定任務(wù)所需要的周期數(shù),從而無法說明如何去改善代碼的性能。
微處理器(Microprocessor)的分類
通用處理器(GPP)
采用馮.諾依曼結(jié)構(gòu),程序和數(shù)據(jù)的存儲(chǔ)空間合二而一
8-bit Apple(6502),NEC PC-8000(Z80)
8086/286/386/486/Pentium/Pentium II/ Pentium III
PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP)
CISC 復(fù)雜指令計(jì)算機(jī), RISC 精簡(jiǎn)指令計(jì)算機(jī)
采取各種方法提高計(jì)算速度,提高時(shí)鐘頻率,高速總線,多級(jí)Cashe,協(xié)處理器等
Single Chip Computer/ Micro Controller Unit(MCU)
除開通用CPU所具有的ALU和CU,還有存儲(chǔ)器(RAM/ROM)寄存器,時(shí)鐘,計(jì)數(shù)器,定時(shí)器,串/并口,有的還有A/D,D/A
INTEL MCS/48/51/96(98)
MOTOROLA HCS05/011
DSP
采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)分開存儲(chǔ)
采用一系列措施保證數(shù)字信號(hào)的處理速度,如對(duì)FFT的專門優(yōu)化
MCU與DSP的簡(jiǎn)單比較
MCU DSP
低檔 高檔 低檔 高檔
指令周期(ns) 600 40 50 5
乘加時(shí)間(ns) 1900 80 50 5
US$/MIPS 1.5 0.5 0.15 0.1
飛速發(fā)展的數(shù)字信號(hào)處理器
由于超大規(guī)模集成電路技術(shù)的迅猛發(fā)展,過去二十年中,數(shù)字信號(hào)處理技術(shù),即DSP(Digital Signal Processor)技術(shù)也得到了突飛猛進(jìn)的發(fā)展,這種發(fā)展趨勢(shì)在今后十年內(nèi)仍將保持下去。據(jù)世界半導(dǎo)體貿(mào)易統(tǒng)計(jì)組織發(fā)布的統(tǒng)計(jì)與預(yù)測(cè)報(bào)告,2001~2006年可編程DSP市場(chǎng)的預(yù)期增長(zhǎng)率為27.2%。預(yù)期2006年DSP市場(chǎng)將達(dá)到141.9億美元,且增長(zhǎng)率是逐年遞增的,2005年的增長(zhǎng)率預(yù)期為34%。到2010年,DSP芯片的集成度將會(huì)提高11倍,單個(gè)芯片上將會(huì)集成5億只晶體管。目前DSP的生產(chǎn)工藝正在由0.35μm轉(zhuǎn)向0.25μm、0.18μm、0.13μm,到2005年可能達(dá)到0.075μm。
集成度的提高使得硅片的面積進(jìn)一步縮小,從而導(dǎo)致DSP芯片成本降低,價(jià)格下降。價(jià)格下降促使需求的上升和應(yīng)用領(lǐng)域的擴(kuò)展。DSP已從軍用轉(zhuǎn)向民用,在計(jì)算機(jī)、通信、消費(fèi)類電子產(chǎn)品方面即所謂3C領(lǐng)域得到了廣泛的應(yīng)用。DSP在通信領(lǐng)域應(yīng)用最多,占72%,計(jì)算機(jī)占3%,消費(fèi)類、辦公自動(dòng)化各占2%,從趨勢(shì)上看,工業(yè)(特別是變頻電機(jī)控制)中的應(yīng)用,以及消費(fèi)類產(chǎn)品中應(yīng)用的份額會(huì)有所上升。
在通信領(lǐng)域,DSP產(chǎn)品涵蓋了從3G無線基站到無線局域網(wǎng)的廣泛應(yīng)用,數(shù)字化電視也離不開DSP。DSP在語言處理中的應(yīng)用也是盡人皆知的,包括語言的壓縮與解壓,語言的合成,語言的識(shí)別等。
計(jì)算機(jī)的硬盤驅(qū)動(dòng)器在使用DSP技術(shù)以后可大大提高存取速度,提高容量和縮小體積,以至于今后有可能用于掌上電腦。在PC機(jī)中,DSP可加速圖形處理功能。以后的PC機(jī),可能每臺(tái)PC中含有不只一顆DSP芯片。在計(jì)算機(jī)外設(shè)中,激光打印機(jī)、掃描儀、光盤機(jī)等需要大量數(shù)據(jù)傳輸?shù)脑O(shè)備,都有可能用到DSP技術(shù)。
DSP技術(shù)發(fā)展的另一趨勢(shì)是速度更快,功耗更低,DSP片外的速度能達(dá)到幾十兆赫已經(jīng)近于極限,為了降低系統(tǒng)的噪聲,提高系統(tǒng)抗干擾能力,片外時(shí)鐘有進(jìn)一步降低的趨勢(shì),即外部使用幾兆赫的振蕩器就夠了,而片內(nèi)則用壓控振蕩器加鎖相環(huán)的技術(shù),把片內(nèi)時(shí)鐘速度提高到100MHz、200MHz乃至更高,會(huì)有更多的DSP片內(nèi)時(shí)鐘達(dá)到1GHz。預(yù)期到2010年,同類水平的DSP的功耗將降到原來的1/3。
DSP與CPU
如果用普通計(jì)算機(jī)中的CPU來處理算法,做乘法和加法都要調(diào)用相應(yīng)的乘法、加法函數(shù),如果是浮點(diǎn)數(shù)運(yùn)算,通常CPU需要將浮點(diǎn)運(yùn)算交給協(xié)處理處理,雖然協(xié)處理器的浮點(diǎn)運(yùn)算速度可能很快,但加上CPU將輸入?yún)?shù)傳出,再將運(yùn)算結(jié)果取回的時(shí)間,會(huì)顯得速度很慢;做循環(huán)時(shí),要有循環(huán)變量,每次循環(huán)變量加1后再判斷是否已經(jīng)循環(huán)了n次,這一過程是比較慢的。
而DSP則在硬件設(shè)計(jì)上針對(duì)這類計(jì)算采取了一些獨(dú)特的設(shè)計(jì),以求最快的運(yùn)算速度,以至于趨于模擬電路的延遲時(shí)間。
DSP能在一個(gè)時(shí)鐘周期內(nèi)完成乘法和加法運(yùn)算,并能并行地同時(shí)將下面運(yùn)算要用到的兩個(gè)參數(shù)傳入相應(yīng)的運(yùn)算用寄存器。在乘法及乘加指令的執(zhí)行方式上,DSP的小數(shù)乘法在算法上分定點(diǎn)算法DSP與浮點(diǎn)算法DSP。在定點(diǎn)類DSP中,小數(shù)點(diǎn)的位置是固定的,不論定點(diǎn)的DSP還是浮點(diǎn)的DSP,乘法器都是用硬件邏輯完成的,乘法可以在一個(gè)指令周期內(nèi)完成。
在循環(huán)方面,DSP有諸如重復(fù)n次(Repeat n),或循環(huán)n次(DO Loop n)等指令,使DSP能迅速完成n次循環(huán),而不必每次都檢查是不是已經(jīng)循環(huán)n次了。這就是DSP在做數(shù)字信號(hào)處理方面的優(yōu)勢(shì)與獨(dú)到之處。也是DSP區(qū)別于CPU的地方。
DSP與CPU在結(jié)構(gòu)方面的另一區(qū)別是,DSP往往采用哈佛結(jié)構(gòu),而傳統(tǒng)的CPU多為馮.諾曼結(jié)構(gòu)(Von Neuman)。馮.諾曼結(jié)構(gòu)指的是將程序與數(shù)據(jù)統(tǒng)一編址,不區(qū)分存儲(chǔ)器的程序空間和數(shù)據(jù)空間。而哈佛結(jié)構(gòu)指將程序空間與數(shù)據(jù)空間分開編址,這樣在DSP處理數(shù)據(jù)空間運(yùn)算與數(shù)據(jù)傳輸?shù)耐瑫r(shí)可以并行地從程序空間讀取下一條指令。采用哈佛結(jié)構(gòu),將程序空間與數(shù)據(jù)空間分開編址的好處是速度快,讀程序和讀寫數(shù)據(jù)可以同時(shí)進(jìn)行。
DSP在內(nèi)核設(shè)計(jì)方面還有一個(gè)特點(diǎn)是采用多重流水線結(jié)構(gòu),流水線結(jié)構(gòu)的層次深度可以從3級(jí)到6級(jí)。程序的執(zhí)行過程大致可分為讀指令、指令譯碼、指令執(zhí)行等幾個(gè)階段。DSP在第一個(gè)時(shí)鐘周期內(nèi)讀第一條指令,在第二個(gè)周期譯碼第一條指令同時(shí)在第二個(gè)周期內(nèi)讀入第二條指令,在第三個(gè)時(shí)鐘周期內(nèi)執(zhí)行第一條指令,譯碼第二條指令,同時(shí)讀入第三條指令,這樣雖然執(zhí)行一條指令仍需要三個(gè)周期,可是由于并行的流水線處理,看起來好像每條指令都是在一個(gè)周期內(nèi)完成的,這就是流水線結(jié)構(gòu)。
DSP的特點(diǎn)
DSP在體系結(jié)構(gòu)上與通用微處理器有很大的區(qū)別。下面是幾個(gè)關(guān)鍵的不同點(diǎn):
單周期指令:大多數(shù)DSP都擁有流水結(jié)構(gòu),它可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條語句。
快速乘法器:信號(hào)處理算法往往大量用到乘加(multiply-accumulate,MAC)運(yùn)算。DSP有專用的硬件乘法器,它可以在一個(gè)時(shí)鐘周期內(nèi)完成MAC運(yùn)算。硬件乘法器占用了DSP芯片面積的很大一部分。(與之相反,通用微處理器采用一種較慢的、迭代的乘法技術(shù),它可以在多個(gè)時(shí)鐘周期內(nèi)完成一次乘法運(yùn)算,但是占用了較少了硅片資源)。
多總線:DSP有分開的代碼和數(shù)據(jù)總線(一般用術(shù)語“哈佛結(jié)構(gòu)”表示),這樣在同一個(gè)時(shí)鐘周期內(nèi)可以進(jìn)行多次存儲(chǔ)器訪問——這是因?yàn)閿?shù)據(jù)總線也往往有好幾組。有了這種體系結(jié)構(gòu),DSP就可以在單個(gè)時(shí)鐘周期內(nèi)取出一條指令和一個(gè)或者兩個(gè)(或者更多)的操作數(shù)。
地址發(fā)生器:DSP有專用的硬件地址發(fā)生單元,這樣它可以支持許多信號(hào)處理算法所要求的特定數(shù)據(jù)地址模式。這包括前(后)增(減)、環(huán)狀數(shù)據(jù)緩沖的模地址以及FFT的比特倒置地址。地址發(fā)生器單元與主ALU和乘法器并行工作,這就進(jìn)一步增加了DSP可以在一個(gè)時(shí)鐘周期內(nèi)可以完成的工作量。
硬件輔助循環(huán):信號(hào)處理算法常常需要執(zhí)行緊密的指令循環(huán)。對(duì)硬件輔助循環(huán)的支持,可以讓DSP高效的循環(huán)執(zhí)行代碼塊而無需讓流水線停轉(zhuǎn)或者讓軟件來測(cè)試循環(huán)終止條件。
數(shù)據(jù)格式:除了標(biāo)準(zhǔn)的整數(shù)型格式外,DSP一般支持定點(diǎn)和(或)浮點(diǎn)數(shù)。對(duì)數(shù)據(jù)格式和精度的選擇取決于應(yīng)用程序所需,例如:
16位定點(diǎn)DSP可以滿足語音信號(hào)處理和控制所需
24位和32位定點(diǎn)DSP可以滿足高質(zhì)量音頻信號(hào)處理所需
32位浮點(diǎn)DSP可以滿足圖形和圖像處理所需
DSP的特點(diǎn):
DSP處理器采用哈佛結(jié)構(gòu)和改進(jìn)的哈佛結(jié)構(gòu)。
哈佛結(jié)構(gòu)就是將程序代碼和數(shù)據(jù)的存儲(chǔ)空間分開,各有自己的地址和數(shù)據(jù)總線。之所以采用哈佛結(jié)構(gòu),是為了并行進(jìn)行指令和數(shù)據(jù)處理,從而可以大大地提高運(yùn)算的速度。為了進(jìn)一步提高信號(hào)處理的效率,在哈佛結(jié)構(gòu)的基礎(chǔ)上,又加以改善。使得程序代碼和數(shù)據(jù)存儲(chǔ)空間之間可以進(jìn)行數(shù)據(jù)的傳輸,稱為改善的哈佛結(jié)構(gòu)。
采用流水技術(shù)。
流水技術(shù)是將各指令的各個(gè)步驟重疊起來執(zhí)行。DSP處理器所采用的將程序存儲(chǔ)空和數(shù)據(jù)存儲(chǔ)空間的地址與數(shù)據(jù)總線分開的哈佛結(jié)構(gòu),為采用流水技術(shù)提供了很大的方便。
為了提高DSP處理器的運(yùn)算速度,它們無例外地設(shè)置了硬件乘法器,以及MAC(乘并且累加)一類的指令。
DSP處理器都為DMA單獨(dú)設(shè)置了完全獨(dú)立的總線和控制器,這是和通用的CPU很不相同,其目的是在進(jìn)行數(shù)據(jù)傳輸是完全不影響CPU及其相關(guān)總線的工作。
在DSP處理器中,設(shè)置了專門的數(shù)據(jù)地址發(fā)生器來產(chǎn)生所需的數(shù)據(jù)地址。數(shù)據(jù)地址的產(chǎn)生與CPU的工作是并行的,從而節(jié)省CPU的時(shí)間,提高信號(hào)的處理速度。
DSP處理器為了自身工作的需要和外部環(huán)境的協(xié)調(diào)工作。往往都設(shè)置了豐富的外設(shè)。如時(shí)鐘發(fā)生器。定時(shí)器等。
定點(diǎn)DSP處理器和浮點(diǎn)DSP處理器。定點(diǎn)DSP中經(jīng)常要考慮溢出問題,在浮點(diǎn)DSP基本上可以不考慮。與定點(diǎn)DSP處理器相比,浮點(diǎn)DSP處理器的速度更快,尤其是作浮點(diǎn)運(yùn)算。在實(shí)時(shí)性要求很到的場(chǎng)合。往往考慮浮點(diǎn)DSP處理器。而浮點(diǎn)DSP處理器的價(jià)格比較高,開發(fā)難度更大。
為什么CCS需要安裝Driver?
CCS是開放的軟件平臺(tái),它可以支持不同的硬件接口,因此不同的硬件接口必須通過標(biāo)準(zhǔn)的Driver同CCS連接。
Driver安裝的常見問題?
請(qǐng)認(rèn)真閱讀“安裝手冊(cè)”和Driver盤中的Readme。 1)對(duì)于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對(duì)于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。3)對(duì)于SEED-XDSUSB,必須連接目標(biāo)板,安裝Readme中的步驟,將I/O口設(shè)為A,USB連接后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 4)對(duì)于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240,PCI接口板插入主機(jī)后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 5)對(duì)于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對(duì)于C5402 DSK,將I/O口設(shè)為請(qǐng)認(rèn)真閱讀“安裝手冊(cè)”和Driver盤中的Readme。 1)對(duì)于SEED-XDS,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340。 2)對(duì)于SEED-XDSPP,安裝Readme中的步驟,將I/O口設(shè)為378或278。注意主機(jī)BIOS中并口的型式必須同xds510pp.ini中一致。 3)對(duì)于SEED-XDSUSB,必須連接目標(biāo)板,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,USB連接后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 4)對(duì)于SEED-XDSPCI,安裝Readme中的步驟,將I/O口設(shè)為240/280/320/340,PCI接口板插入主機(jī)后,主機(jī)將自動(dòng)激活相應(yīng)的Driver。 5)對(duì)于Simulator,需要選擇不同的CFG文件,以模擬不同的DSP。 6)對(duì)于C5402 DSK,將I/O口設(shè)為378或278。 7)對(duì)于C6211/6711 DSK,將I/O口設(shè)為378或278。 8)對(duì)于C6201/C6701 EVM,將I/O口設(shè)為0。
Link的cmd文件的作用是什么?
Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結(jié)果是未定位的,DSP沒有操作系統(tǒng)來定位執(zhí)行代碼,每個(gè)客戶設(shè)計(jì)的DSP系統(tǒng)的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以C5000為例,基本格式為:
-o sample.out
-m sample.map
-stack 100
sample.obj meminit.obj
-l rts.lib
MEMORY {
PAGE 0: VECT: origin = 0xff80, length 0x80
PAGE 0: PROG: origin = 0x2000, length 0x400
PAGE 1: DATA: origin = 0x800, length 0x400
}
SECTIONS {
.vectors : {} >PROG PAGE 0
.text : {} >PROG PAGE 0
.data : {} >PROG PAGE 0
.cinit : {} >PROG PAGE 0
.bss : {} >DATA PAGE 1
}
如何將OUT文件轉(zhuǎn)換為16進(jìn)制的文件格式?
DSP的開發(fā)軟件集成了一個(gè)程序,可以從執(zhí)行文件OUT轉(zhuǎn)換到編程器可以接受的格式,使得編程器可以用次文件燒寫EPROM或Flash。對(duì)于C2000的程序?yàn)镈SPHEX;對(duì)于C3x程序?yàn)镠EX30;對(duì)于C54x程序?yàn)镠EX500;對(duì)于C55x程序?yàn)镠EX55;對(duì)于C6x程序?yàn)镠ex6x。以C32為例,基本格式為:
sample.out
-x
-memwidth 8
-bootorg 900000h
-iostrb 0h
-strb0 03f0000h
-strb1 01f0000h
-o sample.hex
ROMS {
EPROM: org = 0x900000,len=0x02000,romwidth=8
}
SECTIONS {
.text: paddr="boot"
.data: paddr="boot"
}
評(píng)論