基于SoPC目標(biāo)板Flash編程設(shè)計的創(chuàng)建及應(yīng)用_第1頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于sopc目標(biāo)板flash編程設(shè)計的創(chuàng)建及應(yīng)用隨著工藝技術(shù)的不斷進(jìn)展和集成度的提高,系統(tǒng)由板級向芯片級過渡,形成一種新的設(shè)計辦法一片上系統(tǒng)(system on chip,簡稱)。soc從囫圇系統(tǒng)的角度動身,把處理機制、模型算法、芯片結(jié)構(gòu)、各層次,直至器件的實際電路緊密銜接起來,在單個(少數(shù)幾個)芯片上實現(xiàn)囫圇系統(tǒng)的功能。同時隨著現(xiàn)場可編程規(guī)律陣列()技術(shù)的日益成熟,將pld與嵌入式處理器ip軟核相結(jié)合,形成基于可編程片上系統(tǒng)(system on programmable chip,簡稱 sopc)的soc解決計劃,使得越發(fā)靈便的sopc成為現(xiàn)代嵌入式系統(tǒng)設(shè)計的進(jìn)展趨勢。sopc是公司提出的一

2、種靈便、高效的soc解決計劃。它將處理器、存儲器、io口、lvds、cdr等系統(tǒng)設(shè)計需要的功能模塊集成到一個可編程器件上,構(gòu)成一種特別的可編程片上嵌入式系統(tǒng)。一方面,它是可編程片上系統(tǒng),即由單個芯片完成囫圇系統(tǒng)的主要功能,并具備軟硬件系統(tǒng)可編程的能力;另一方面,它內(nèi)嵌處理器ip核,具有靈便的設(shè)計方式,用戶可按照需要任意配置、構(gòu)建、裁剪處理器ip核。目前最具有代表性的ip軟核嵌入式處理器是altera的niosii軟核。niosii嵌入式cpu是一種特地為sopc設(shè)計應(yīng)用而優(yōu)化的cpu軟核。在基于niosii的sopc嵌入式系統(tǒng)中,幾乎全部的應(yīng)用設(shè)計都需要用法flash來保存在niosii中運行

3、的程序代碼、非易失性數(shù)據(jù)和fpga的配置數(shù)據(jù)。因此flash編程便成為在調(diào)試完sopc系統(tǒng)后的重要工作。要對flash編程,首先要保證在sopc builder中target選項區(qū)域的board下拉列表框中挑選用戶用法的目標(biāo)板f1ash編程設(shè)計?;趯嶋H設(shè)計需求,具體介紹sopc目標(biāo)板flash編程設(shè)計的創(chuàng)建,并以一個最小sopc系統(tǒng)為例,解釋目標(biāo)板flash編程設(shè)計的應(yīng)用及flash編程。2 flash programmer簡介niosii ide提供了flash programmer工具來對目標(biāo)板上遵循通用flash接口(common flash interface,簡稱cfi),規(guī)范的f

4、lash及epcs配置器件舉行編程。ide的flashprogrammer通過用法altera的下載電纜能夠便利地對目標(biāo)板上銜接在fpga上的flash及串行配置器件epcs舉行編程。21 flash programmer編程工作過程niosii的ide flash programmer采納兩步驟將數(shù)據(jù)寫入flash中。第一步,用一個altera提供的特別flash編程設(shè)計(flash programmer design)對fpga舉行配置;其次步,ideflash programmer將要編程到flash中的文件內(nèi)容傳送到在fpga上運行的flash編程設(shè)計,然后flash編程設(shè)計將接收到的

5、數(shù)據(jù)編寫到flash中。其編程工作過程1所示。22 flash編程設(shè)計flash編程設(shè)計實際就是一個由sopc builder系統(tǒng)生成的最小fpga設(shè)計。flash編程設(shè)計是ide flash programmer的關(guān)鍵組成部分。不同的目標(biāo)板往往用法不同的flash器件,并且flash與fpga的引腳銜接以及fpga的型號也不相同。因此,每個flash編程設(shè)計都是與詳細(xì)的目標(biāo)板相聯(lián)系的,不能用于其他的目標(biāo)板。假如用法自己的目標(biāo)板,那么設(shè)計者必需創(chuàng)建該目標(biāo)板的flash編程設(shè)計。altem公司的nios開發(fā)板都提供了相應(yīng)的flash編程設(shè)計,可以在niosii開發(fā)套件安裝名目的、ipnios2_

6、ip文件夾中找到。23 flash編程設(shè)計信息目標(biāo)板flash編程設(shè)計描述了系統(tǒng)與目標(biāo)板之間的關(guān)系。目標(biāo)板flash編程設(shè)計對flash編程必不行少,它提供了flash programmer對flash編程所需的所有信息。一個目標(biāo)板flash編程設(shè)計是一組sopc builder文件,其中必需指明fpga與flash的銜接關(guān)系。一個目標(biāo)板flash編程設(shè)計包含下列信息:每一個銜接到電路板fpga上的f1ash的參考元件標(biāo)號,如u7,u7flash,u3epcs等;flash器件在f1ash編程設(shè)計中的基地址;用于配置目標(biāo)板上fpga的flash編程設(shè)計的sof文件。參考元件標(biāo)號用于區(qū)別設(shè)計中不

7、同的flash器件。目標(biāo)板上的flash器件在設(shè)計時的命名和基地址可能不同,但參考元件標(biāo)號總是相同的。3 目標(biāo)板flash編程設(shè)計的創(chuàng)建用戶自制目標(biāo)板,而在target選項區(qū)中的board下拉列表框中沒有相應(yīng)的目標(biāo)板flash編程設(shè)計,用戶就必需自己創(chuàng)建目標(biāo)板flash編程設(shè)計。31目標(biāo)板flash編程設(shè)計文件創(chuàng)建下面以quaausii 70為例,具體解釋目標(biāo)板flash編程設(shè)計的創(chuàng)建。目標(biāo)板flash編程設(shè)計在sopc builder中實現(xiàn)。在quaausii中新建一個工程,在tools菜單中挑選sopc builder,打開ahera sopc builder圖形編輯界面環(huán)境。在sopc

8、builder圖形編輯界面中,在file菜單中挑選new board description,打開board description editor對話框,在此對話框中挑選netlist頁面,在device familv欄中正確挑選目標(biāo)板的fpga系列,這里以cyclone ii為例,2所示。挑選flash memory頁面,單擊new flash memory按鈕添加目標(biāo)板的flash器件,并輸入正確的銜接到目標(biāo)板fpga的參考元件標(biāo)號和flash器件類型。參考元件標(biāo)號可命名為用戶的隨意字符串,如u7,epcs,flash等,但不能命名成u7(cfiflash),u3(epcs)等形式。再單擊

9、此頁面的new hardwareimage按鈕,指定fpga硬件配置程序的存儲位置,普通挑選epcs器件。假如設(shè)置為flash器件,需要有相應(yīng)的外部控制器、或協(xié)作用法。設(shè)置3所示。fpga硬件配置可放在nor flash中,也可放在epcs中。在hardware image name欄下輸入硬件配置映像的名稱,如epcs,user,factory等。對于每一個hardware image name,都要挑選一個用來存儲的flash。假如用戶設(shè)計中,即采納epcs,又采納nor flash對fpga的配置數(shù)據(jù)舉行存儲,則可在hardware image name欄下輸入兩個硬件配置映像名,如us

10、er,factory,然后分離指定為前面的參考元件標(biāo)號;對于offset欄的設(shè)置,假如對應(yīng)的device欄為flash器件,則可以指定硬件映像在flash中的編程偏移地址;假如對應(yīng)的device欄為epcs器件,則不能在offset欄中指定偏移地址。最后挑選files頁面,輸入board description name,version和system template,單擊finish按鈕完成目標(biāo)板flash編程設(shè)計的創(chuàng)建,4所示。system template欄可通過brows按鈕挑選設(shè)置的系統(tǒng)模板*ptf(或者挺直輸入),也可不設(shè)置系統(tǒng)模板。假如設(shè)置系統(tǒng)模版,則系統(tǒng)模板需要存儲在目標(biāo)板fl

11、ash編程設(shè)計文件名目下的system文件夾中。并且在構(gòu)建niosii cpu時,當(dāng)挑選帶系統(tǒng)模板的目標(biāo)板flash編程設(shè)計時,會自動在souilder圖形編輯界面添加系統(tǒng)模板帶的cpu組件。目標(biāo)板flash編程設(shè)計勝利創(chuàng)建后,在ii工程名目下會生成一個與board description name相同的名目。在此名目下包含目標(biāo)板flash編程設(shè)計的文件classptf。文件夾下還包含兩個子文件夾,一個是system,設(shè)計者指定的系統(tǒng)模版便存放在此;另一個是netlist,存儲設(shè)計者提供的pcb網(wǎng)表文件,格式為wirelist。假如設(shè)計者不需要這兩個文件,則為空文件夾。對于board desc

12、ription editor對話框中其他頁面的選項,與目標(biāo)板flash編程設(shè)計描述沒有須要的關(guān)系。具體內(nèi)容請參見altera的數(shù)據(jù)手冊。32 目標(biāo)板flash編程設(shè)計設(shè)置目標(biāo)板flash編程設(shè)計勝利創(chuàng)建后,為了在任何設(shè)計的sopc builder中都能用法,則可將生成的囫圇文件夾拷貝到niosii開發(fā)套件安裝名目的ipnios2_ip文件夾中,或者設(shè)置sopc builder的搜尋路徑,配置componentkit library searchpath,增強用戶設(shè)計的目標(biāo)板flash編程設(shè)計名目。然后關(guān)閉ahera sopc builder重新啟動sopc builder,就可以在sopcbu

13、ilder圖形界面中的target下拉列表框中找到創(chuàng)建的目標(biāo)板flash編程設(shè)計。4 目標(biāo)板flash編程設(shè)計的應(yīng)用以一個最小sopc系統(tǒng)流水燈為例,解釋目標(biāo)板flash編程設(shè)計在實際flash編程中的應(yīng)用。41 niosii cpu生成在altera sopc builder圖形界面中,首先在target選項區(qū)中board下拉列表框中挑選剛創(chuàng)建的目標(biāo)板flash編程設(shè)計,并指定niosii系統(tǒng)的時鐘。然后添加系統(tǒng)所需的外設(shè)元件,設(shè)置各外設(shè)元件的參數(shù)。分配base address和irq。添加完組件后5所示。添加完組件后,在nios ii more“cpu”settings中設(shè)置復(fù)位地址和異樣

14、地址。假如nios程序下載到flash中,則復(fù)位地址設(shè)為ext_flash;假如下載到epcs中,則復(fù)位地址設(shè)為epcs_controller。最后在system generation中點擊generation按鈕生成niosii cpu。42 構(gòu)建最小sopc系統(tǒng)在quartusii中構(gòu)建最小sopc系統(tǒng)。此sopc系統(tǒng)由niosii cpu模塊、pll模塊和系統(tǒng)復(fù)位模塊組成。在系統(tǒng)的頂層模塊中分離添加sopc builder生成的niosii cpu,pll模塊及系統(tǒng)復(fù)位模塊構(gòu)成最小的sopc系統(tǒng)。因為目標(biāo)板上時鐘是50 mhz,而構(gòu)建niosii cpu時鐘設(shè)為80 mhz,故需通過me

15、ga wizard plug-in manager生成pll模塊,將系統(tǒng)時鐘提高到80 mhz。添加完模塊后,再添加輸入輸出端口,并銜接引腳與端口,命名端口名(建議端口命名與實際電路中的網(wǎng)絡(luò)標(biāo)號相同)。然后分配引腳,并設(shè)置相關(guān)參數(shù)。編譯工程生成fpga的配置文件*.sof,并利用quartusii的programmer下載到fpga或epcs中。43 nios程序生成及flash編程啟動niosii ide,建立和編譯一個容易的流水燈的nios應(yīng)用程序。在nios應(yīng)用程序調(diào)試正確后,單擊菜單tools下的flash programmer,彈出flash programmer編程界面。選中fla

16、sh programmer,單擊new按鈕創(chuàng)建一個flashprogrammer配置。在flash programmer界面中挑選main選項卡,設(shè)置flash programmer相關(guān)參數(shù)。假如選中program software project into flash memory project項,表示將工程的*elf文件寫入flash(epcs或cfi flash)存儲器中。將*elf文件寫入flash的過程時,假如工程沒有編譯銜接,會自動舉行工程的編譯銜接。對于*elf文件的編程,flash programmer窗口中并沒有存儲器和偏移地址的設(shè)置,存儲器和偏移地址由是sopc buil

17、der中reset address指向的存儲器和設(shè)置的偏移地址打算。假如將resetaddress指向cfi f1ash偏移地址從0x0hd開頭,那么flashprogrammer就會從cfi flash的基地址+0x00開頭燒寫數(shù)據(jù);假如將reset address指向epcs_controller,偏移地址從ox00開頭,那么flash programmer就會從epcs的基地址+配置數(shù)據(jù)空間+ox00開頭燒寫數(shù)據(jù)。假如選中program fpga configuration data into hardware-image region of flash memory,可將fpga配置數(shù)據(jù)寫入flash(epcs或cfi flash)。挑選作為硬件系統(tǒng)的fpga配置文件*sof,指定配置文件的硬件配置映像名及存儲的偏移地址。假如在制作目標(biāo)板flash編程設(shè)計時,指定可將配置文件編程到cfiflash,并指定多個偏移地址,此項就可挑選編程地址,從而將配置文件編程到用戶指定的存儲器地址空間。對于將配置文件編程到epcs,偏移地址只能從ox00開頭。假如挑選program file into a flash memory選項,能將指定的二進(jìn)制文件寫入指定的flash(epcs或cfi flash)存儲地

溫馨提示

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

評論

0/150

提交評論