日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]SOPC系統(tǒng)中如何利用Flash來(lái)保存用戶程序

1 Flash在SOPC中的作用

Flash在SOPC中的作用主要表現(xiàn)在兩方面:一方面,可用Flash來(lái)保存FPGA的配置文件,從而可以省去EPCS芯片或解決EPCS芯片容量不夠的問題。當(dāng)系統(tǒng)上電后,從Flash中讀取配置文件,對(duì)FPGA進(jìn)行配置。另一方面,可用Flash來(lái)保存用戶程序。對(duì)于較為復(fù)雜的SOPC系統(tǒng),用戶程序一般較大,用EPCS來(lái)存儲(chǔ)是不現(xiàn)實(shí)的。系統(tǒng)完成配置后,將Flash中的用戶程序轉(zhuǎn)移到外接RAM或片內(nèi)配置生成的RAM中,然后系統(tǒng)開始運(yùn)行。

2 Flash編程的實(shí)現(xiàn)

本文以某項(xiàng)目的具體電路為例,闡述在SOPC系統(tǒng)中如何利用Flash來(lái)保存用戶程序。FPGA為Altera公司的Cyclone EP1C6,F(xiàn)lash為AMD公司的AM29LV160D,外接RAM為Samsung公司的K4S643232H,串行配置器件為EPCS1。開發(fā)工具采用Altera公司提供的QuartusII和NioslI軟件。

NiosII的開發(fā)環(huán)境中提供了Flash Programmer工具,對(duì)目標(biāo)板上遵守CFI(Common Flash InteRFace)規(guī)范的Flash進(jìn)行編程。CFI是一種Flash接口規(guī)范,只要Flash符合該規(guī)范,通過專門的命令就能獲得其詳細(xì)的參數(shù),并根據(jù)這些參數(shù)訪問Flash。利用Altera公司的下載電纜,F(xiàn)lash Programmer工具可以對(duì)Flash器件中的任意偏移地址進(jìn)行任意內(nèi)容的編程。Flash Programmer工具對(duì)Flash編程分為2個(gè)步驟:

①根據(jù)目標(biāo)板編程描述對(duì)FPGA進(jìn)行配置;

②Flash Programmer工具將要編程到Flash的文件內(nèi)容傳送到FPGA的數(shù)據(jù)緩沖區(qū),然后FPGA將收到的數(shù)據(jù)寫入Flash中。

2.1 目標(biāo)板編程描述的創(chuàng)建

目標(biāo)板編程描述實(shí)際就是一個(gè)由SOPC Builder系統(tǒng)生成的最小FPGA設(shè)計(jì),其作用是對(duì)FPGA進(jìn)行適當(dāng)配置以實(shí)現(xiàn)對(duì)Flash的編程。不同的電路板(目標(biāo)板)往往使用不同的Flash器件,并且Flash與FPGA的引腳連接以及FPGA的型號(hào)也不相同,因此每個(gè)目標(biāo)板編程描述都是與具體的目標(biāo)板相關(guān)聯(lián)的,不能用于其他目標(biāo)板。目標(biāo)板提供了Flash Programmer工具對(duì)Flash進(jìn)行編程的全部信息,包括Flash的容量、Flash的引腳連接等。

一個(gè)目標(biāo)板編程描述包含以下信息:每個(gè)接到FPGA上Flash器件的參考元件標(biāo)號(hào);Flash器件在目標(biāo)板編程描述中的基地址;用于配置FPGA的SOF文件。

目標(biāo)板編程描述的創(chuàng)建分2步:

①在Nios SDK Shell中使用mk_target_board命令創(chuàng)建一個(gè)工程模板;

②使用SoPC Builder對(duì)模板進(jìn)行編輯,從而形成完整的目標(biāo)板編程描述。

每個(gè)目標(biāo)板編程描述應(yīng)包含下列元件:NiosII CPU;JTAG_UART接口;本目標(biāo)板中采用串行配置器件EPCS存儲(chǔ)FPGA的配置文件,因此需要Active Serial MemoryInterface(ASMI);Tri-State Bridge(三態(tài)橋);CFI接口的Flash;System ID Peripheral;用于存放程序以及作為數(shù)據(jù)緩沖的On-chip memory。

下面以本目標(biāo)板為例,介紹創(chuàng)建目標(biāo)板編程描述的步驟:

①啟動(dòng)NiosII SDK shell;

②運(yùn)行mk_target_board命令,創(chuàng)建一個(gè)目標(biāo)板Flash編程描述模板(參數(shù)name=flash_board,family=cyclone,clock=80,index=1,epcs=U5,buffer_size=2 048,class=flash_programer);

③啟動(dòng)QuartusII軟件并打開剛才創(chuàng)建的目標(biāo)板編程描述工程flash_programer.qPf;

④在QuartusII軟件中選擇Assignments→Device打開setting對(duì)話框,選取FPGA型號(hào),本例為EP1C6Q240C8;

⑤啟動(dòng)SOPC Builder,在Target選項(xiàng)區(qū)的Board下拉列表框中選擇Unspecified Board,Clock欄的時(shí)鐘頻率取50 MHz,在模板的基礎(chǔ)上添加三態(tài)橋Avalon Tri-State Bridge和CFI接口的Flash(Flash的參考標(biāo)號(hào)為U5,地址為20位,數(shù)據(jù)為16位);

⑥選擇System Generation選項(xiàng)卡,關(guān)閉Simulation選項(xiàng),然后單擊Generate按鈕;

⑦當(dāng)生成完成后,退出SOPC Builder,并返回到QuartuslI;

⑧在QuartuslI中更新原理圖,然后添加、鏈接并命名引腳;

⑨進(jìn)行引腳分配,確保與FPGA各引腳的連接一致;

⑩編譯并保存工程。

編譯成功后,目標(biāo)板編程描述即成功創(chuàng)建。打開SOPC Builder即可在Target選項(xiàng)區(qū)的Board下拉列表框中找到該目標(biāo)板編程描述,本例為flash_board。(該目標(biāo)板編程描述的頂層圖略——編者注)

創(chuàng)建好的目標(biāo)板編程描述在任何設(shè)計(jì)的SOPC Builder中都能使用。如果想讓該目標(biāo)板編程描述在其他PC機(jī)上使用,將整個(gè)設(shè)計(jì)文件夾拷貝到NiosII安裝路徑<安裝盤>\altera\kits\nios2\components目錄下即可。 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w [!--empirenews.page--]
2.2 使用Flash Programmer工具編程Flash

目標(biāo)板編程描述創(chuàng)建后會(huì)在SOPC Builder中的Target選項(xiàng)區(qū)的Board下拉列表框中顯示出來(lái)。本例中所創(chuàng)建的目標(biāo)板編程描述為flash_board。目標(biāo)板編程描述創(chuàng)建后就可以在目標(biāo)板上進(jìn)行用戶SOPC系統(tǒng)的開發(fā)了,并能將用戶程序編程到Flash存儲(chǔ)器件中。采用EPCS器件存儲(chǔ)配置文件、Flash器件存儲(chǔ)用戶程序的SOPC系統(tǒng)的開發(fā)流程如圖1所示。

用Flash Programmer工具對(duì)Flash編程的步驟如下:

①創(chuàng)建項(xiàng)目,構(gòu)建SOPC硬件系統(tǒng)。

②啟動(dòng)NiosII,建立SOPC系統(tǒng)的軟件然后進(jìn)行編譯、鏈接。

③在NiosII中選中要進(jìn)行編程的工程,然后選擇Tools→Flash Programmer,打開Flash Programmer窗口。

④在Main選項(xiàng)中,選中Program software project in-to flash memory project,表示要將工程的flash_progra-mer.elf文件寫入Flash。對(duì)flash_programer.elf文件的編程,在Flash Programmer窗口中并沒有存儲(chǔ)器和偏移地址的設(shè)置。存儲(chǔ)器和偏移地址由SOPC Builder中的Reset Address指向的存儲(chǔ)器和設(shè)置的偏移地址決定。如果將Reset Address指向Flash、偏移地址從0x00開始,那么Flash Programmer就會(huì)從Flash的“基地址+0x00”開始燒寫數(shù)據(jù)。如果將Reset Address指向EPCS Controller、偏移地址從0x00開始,那么Flash Programmer就會(huì)從EPCS的“基地址+配置數(shù)據(jù)空間+0x00”開始燒寫數(shù)據(jù)。

⑤選擇Target Connection選項(xiàng)卡,在JTAG cable和JTAG device欄中選中當(dāng)前所用的下載電纜和JTAG器件。

⑥單擊Apply按鈕,然后單擊Program Flash按鈕,開始對(duì)指定的Flash存儲(chǔ)器編程。

當(dāng)完成Flash編程后,由于當(dāng)前的EPCS中的配置文件是目標(biāo)板編程描述的配置文件,所以寫入Flash的用戶程序并不會(huì)馬上運(yùn)行。用戶需要給系統(tǒng)重新上電,使FPGA使用EPCS中的配置文件重新配置FPGA,此時(shí)用戶程序就能正常運(yùn)行。

結(jié) 語(yǔ)

本文針對(duì)SOPC系統(tǒng)開發(fā)所面臨的問題,提出采用外接Flash存儲(chǔ)器件是最直接、最有效的解決方法。將FPGA的配置文件存入EPCS、用戶程序存人Flash器件,SOPC系統(tǒng)上電后首先進(jìn)行配置,然后將Flash中的用戶程序載入系統(tǒng)RAM,這樣不僅解決了存儲(chǔ)容量的問題,也解決了Flash存取速度較慢的問題。本文對(duì)外接Flash的SOPC系統(tǒng)開發(fā)有一定的參考價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

中國(guó)北京(2025年9月10日)—— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國(guó)際會(huì)展中心舉辦的第26屆中國(guó)國(guó)際光電博覽會(huì)(展位號(hào):12C12),全面展示GD25 SPI...

關(guān)鍵字: 光通信 MCU Flash

在嵌入式系統(tǒng)中,F(xiàn)lash存儲(chǔ)器因其非易失性、高密度和低成本特性,成為代碼存儲(chǔ)和關(guān)鍵數(shù)據(jù)保存的核心組件。然而,MCU驅(qū)動(dòng)Flash讀寫時(shí),開發(fā)者常因?qū)τ布匦岳斫獠蛔慊虿僮髁鞒淌韬?,陷入性能下降、?shù)據(jù)損壞甚至硬件損壞的陷...

關(guān)鍵字: MCU驅(qū)動(dòng) Flash

在電子系統(tǒng)中,電源如同人體的心臟,為各個(gè)元器件提供持續(xù)穩(wěn)定的能量。而電源系統(tǒng)電流的合理分配,更是決定了整個(gè)系統(tǒng)能否穩(wěn)定、高效運(yùn)行的關(guān)鍵因素。不合理的電流分配,可能導(dǎo)致某些元器件供電不足,無(wú)法正常工作;也可能使部分器件電流...

關(guān)鍵字: 電源系統(tǒng) 器件 電流

深圳2025年4月24日 /美通社/ -- 4月23日,2025上海國(guó)際車展盛大啟幕,全球汽車產(chǎn)業(yè)的目光聚焦于這場(chǎng)科技與創(chuàng)新的盛宴。在眾多展示亮點(diǎn)中,汽車AI+應(yīng)用無(wú)疑是最大的熱點(diǎn)之一,“駕控超級(jí)大腦”技術(shù)概念、車機(jī)交互...

關(guān)鍵字: GB EMMC Flash PS

在自動(dòng)駕駛、機(jī)器人與工業(yè)檢測(cè)領(lǐng)域,激光雷達(dá)作為環(huán)境感知的核心傳感器,其技術(shù)路線正從機(jī)械式向固態(tài)化演進(jìn)。MEMS、OPA與Flash作為固態(tài)激光雷達(dá)的三大主流架構(gòu),分別通過微機(jī)電系統(tǒng)、光學(xué)相控陣與泛光面陣技術(shù)實(shí)現(xiàn)掃描與探測(cè)...

關(guān)鍵字: MEMS OPA Flash

在嵌入式系統(tǒng)開發(fā)中,外部存儲(chǔ)介質(zhì)的選擇和管理至關(guān)重要。SPI Flash以其高容量、低功耗、高速率等特點(diǎn),成為眾多嵌入式設(shè)備的首選存儲(chǔ)方案。然而,如何高效管理SPI Flash存儲(chǔ),避免數(shù)據(jù)丟失、提高讀寫性能,是開發(fā)者必...

關(guān)鍵字: 嵌入式SPI Flash LittleFS

氮化鎵(GaN)作為第三代半導(dǎo)體材料的杰出代表,憑借其寬禁帶寬度、高擊穿電壓、高熱導(dǎo)率、高電子飽和漂移速度等卓越特性,在光電子、電力電子、射頻微波等諸多領(lǐng)域展現(xiàn)出了巨大的應(yīng)用潛力。然而,如同任何新興技術(shù)一樣,氮化鎵器件在...

關(guān)鍵字: 氮化鎵 半導(dǎo)體 器件
關(guān)閉