新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于SoPC目標板Flash編程設計的創建及應用

        基于SoPC目標板Flash編程設計的創建及應用

        作者: 時間:2009-07-31 來源:網絡 收藏
        System Template欄可通過Brows按鈕選擇設置的系統模板*.ptf(或者直接輸入),也可不設置系統模板。如果設置系統模版,則系統模板需要存儲在目標板設計文件目錄下的system文件夾中。并且在構建NiosII CPU時,當選擇帶系統模板的目標板設計時,會自動在Builder圖形編輯界面添加系統模板帶的CPU組件。
        目標板設計成功創建后,在QuartusII工程目錄下會生成一個與Board Description Name相同的目錄。在此目錄下包含目標板Flash編程設計的文件class.ptf。文件夾下還包含兩個子文件夾,一個是system,設計者指定的系統模版便存放在此;另一個是netlist,存儲設計者提供的PCB網表文件,格式為wirelist。如果設計者不需要這兩個文件,則為空文件夾。
        對于Board Description Editor對話框中其他頁面的選項,與目標板Flash編程設計描述沒有必要的關系。詳細內容請參見Altera的數據手冊。
        3.2 目標板Flash編程設計設置
        目標板Flash編程設計成功創建后,為了在任何設計的 Builder中都能使用,則可將生成的整個文件夾拷貝到NiosII開發套件安裝目錄的ipnios2_ip文件夾中,或者設置 Builder的搜索路徑,配置Component/Kit Library SearchPath,增加用戶設計的目標板Flash編程設計目錄。然后關閉Ahera SoPC Builder重新啟動SoPC Builder,就可以在SoPCBuilder圖形界面中的Target下拉列表框中找到創建的目標板Flash編程設計。

        本文引用地址:http://www.104case.com/article/188781.htm

        4 目標板Flash編程設計的應用
        以一個最小SoPC系統流水燈為例,說明目標板Flash編程設計在實際Flash編程中的應用。
        4.1 NiosII CPU生成
        在Altera SoPC Builder圖形界面中,首先在Target選項區中Board下拉列表框中選擇剛創建的目標板Flash編程設計,并指定NiosII系統的時鐘。然后添加系統所需的外設元件,設置各外設元件的參數。分配Base Address和IRQ。添加完組件后如圖5所示。

        添加完組件后,在Nios II More“cpu”Settings中設置復位地址和異常地址。如果Nios程序下載到Flash中,則復位地址設為ext_flash;如果下載到EPCS中,則復位地址設為epcs_controller。最后在System Generation中點擊Generation按鈕生成NiosII CPU。
        4.2 構建最小SOPC系統
        在QuartusII中構建最小SoPC系統。此SoPC系統由NiosII CPU模塊、PLL模塊和系統復位模塊組成。在系統的頂層模塊中分別添加SoPC Builder生成的NiosII CPU,PLL模塊及系統復位模塊構成最小的SoPC系統。由于目標板上時鐘是50 MHz,而構建NiosII CPU時鐘設為80 MHz,故需通過Mega Wizard Plug-In Manager生成PLL模塊,將系統時鐘提高到80 MHz。添加完模塊后,再添加輸入/輸出端口,并連接引腳與端口,命名端口名(建議端口命名與實際電路中的網絡標號相同)。然后分配引腳,并設置相關參數。編譯工程生成FPGA的配置文件*.sof,并利用QuartusII的Programmer下載到FPGA或EPCS中。
        4.3 Nios程序生成及Flash編程
        啟動NiosII IDE,建立和編譯一個簡單的LED流水燈的Nios應用程序。在Nios應用程序調試正確后,單擊菜單[Tools]下的[Flash Programmer],彈出Flash Programmer編程界面。選中Flash Programmer,單擊New按鈕創建一個FlashProgrammer配置。在Flash Programmer界面中選擇Main選項卡,設置Flash Programmer相關參數。
        如果選中Program software project into flash memory project項,表示將工程的*.elf文件寫入Flash(EPCS或CFI Flash)存儲器中。將*.elf文件寫入Flash的過程時,如果工程沒有編譯連接,會自動進行工程的編譯連接。對于*.elf文件的編程,Flash Programmer窗口中并沒有存儲器和偏移地址的設置,存儲器和偏移地址由是SOPC Builder中Reset Address指向的存儲器和設置的偏移地址決定。如果將ResetAddress指向CFI F1ash.偏移地址從0x0HD開始,那么FlashProgrammer就會從CFI Flash的基地址+0x00開始燒寫數據;如果將Reset Address指向epcs_controller,偏移地址從Ox00開始,那么Flash Programmer就會從EPCS的基地址+配置數據空間+Ox00開始燒寫數據。
        如果選中Program FPGA configuration data into hardware-image region of flash memory,可將FPGA配置數據寫入Flash(EPCS或CFI Flash)。選擇作為硬件系統的FPGA配置文件*.sof,指定配置文件的硬件配置映像名及存儲的偏移地址。如果在制作目標板Flash編程設計時,指定可將配置文件編程到CFIFlash,并指定多個偏移地址,此項就可選擇編程地址,從而將配置文件編程到用戶指定的存儲器地址空間。對于將配置文件編程到EPCS,偏移地址只能從Ox00開始。如果選擇Program file into a flash memory選項,能將指定的二進制文件寫入指定的Flash(EPCS或CFI Flash)存儲地址空間。
        在Flash Programmer界面中選擇Target Connection選項卡,設置當前所用的下載電纜及JTAG器件。然后單擊Program F1ash對Flash進行編程(EPCS或CFIFlash)。如果看到圖6所示的提示消息,則Flash編程已經成功,說明目標板Flash編程設計創建成功。

        5 結語
        實現SoPC目標板Flash編程設計的創建,并通過一個最小SoPC系統說明目標板Flash編程設計在Flash編程中的應用及Flash編程的方法。通過實驗驗證了目標板Flash編程設計創建方法的正確性,并能對Flash編程。


        上一頁 1 2 下一頁

        關鍵詞: Flash SoPC 編程

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 盐津县| 都江堰市| 吕梁市| 杭锦后旗| 宣汉县| 离岛区| 司法| 穆棱市| 锡林浩特市| 富源县| 裕民县| 三亚市| 深圳市| 江都市| 朝阳区| 新田县| 建瓯市| 西吉县| 弋阳县| 叶城县| 崇明县| 开江县| 韩城市| 霍林郭勒市| 徐闻县| 北川| 房产| 绥中县| 集贤县| 阳东县| 平顶山市| 石渠县| 柳江县| 奉节县| 周宁县| 太谷县| 平山县| 田林县| 蓬莱市| 高邑县| 钦州市|