SOPC系統(tǒng)中如何利用Flash來保存用戶程序
2.2 使用Flash Programmer工具編程Flash
目標(biāo)板編程描述創(chuàng)建后會在SOPC Builder中的Target選項(xiàng)區(qū)的Board下拉列表框中顯示出來。本例中所創(chuàng)建的目標(biāo)板編程描述為flash_board。目標(biāo)板編程描述創(chuàng)建后就可以在目標(biāo)板上進(jìn)行用戶SOPC系統(tǒng)的開發(fā)了,并能將用戶程序編程到Flash存儲器件中。采用EPCS器件存儲配置文件、Flash器件存儲用戶程序的SOPC系統(tǒng)的開發(fā)流程如圖1所示。本文引用地址:http://www.ex-cimer.com/article/149208.htm
用Flash Programmer工具對Flash編程的步驟如下:
①創(chuàng)建項(xiàng)目,構(gòu)建SOPC硬件系統(tǒ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。對flash_programer.elf文件的編程,在Flash Programmer窗口中并沒有存儲器和偏移地址的設(shè)置。存儲器和偏移地址由SOPC Builder中的Reset Address指向的存儲器和設(shè)置的偏移地址決定。如果將Reset Address指向Flash、偏移地址從0x00開始,那么Flash Programmer就會從Flash的“基地址+0x00”開始燒寫數(shù)據(jù)。如果將Reset Address指向EPCS Controller、偏移地址從0x00開始,那么Flash Programmer就會從EPCS的“基地址+配置數(shù)據(jù)空間+0x00”開始燒寫數(shù)據(jù)。
⑤選擇Target Connection選項(xiàng)卡,在JTAG cable和JTAG device欄中選中當(dāng)前所用的下載電纜和JTAG器件。
⑥單擊Apply按鈕,然后單擊Program Flash按鈕,開始對指定的Flash存儲器編程。
當(dāng)完成Flash編程后,由于當(dāng)前的EPCS中的配置文件是目標(biāo)板編程描述的配置文件,所以寫入Flash的用戶程序并不會馬上運(yùn)行。用戶需要給系統(tǒng)重新上電,使FPGA使用EPCS中的配置文件重新配置FPGA,此時(shí)用戶程序就能正常運(yùn)行。
結(jié) 語
本文針對SOPC系統(tǒng)開發(fā)所面臨的問題,提出采用外接Flash存儲器件是最直接、最有效的解決方法。將FPGA的配置文件存入EPCS、用戶程序存人Flash器件,SOPC系統(tǒng)上電后首先進(jìn)行配置,然后將Flash中的用戶程序載入系統(tǒng)RAM,這樣不僅解決了存儲容量的問題,也解決了Flash存取速度較慢的問題。本文對外接Flash的SOPC系統(tǒng)開發(fā)有一定的參考價(jià)值。
評論