国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-11-8 15:32    發布者:eetech
關鍵詞: Flash , SoPC , 編程 , 目標板
1 引言

隨著集成電路工藝技術的不斷發展和集成度的提高,嵌入式系統由板級向芯片級過渡,形成一種新的設計方法一片上系統(System on Chip,簡稱SoC)。SoC從整個系統的角度出發,把處理機制、模型算法、芯片結構、各層次電路,直至器件的實際電路緊密連接起來,在單個(少數幾個)芯片上實現整個系統的功能。同時隨著現場可編程邏輯陣列(FPGA)技術的日益成熟,將PLD與嵌入式處理器IP軟核相結合,形成基于可編程片上系統(System on Programmable Chip,簡稱 SoPC)的SoC解決方案,使得更加靈活的SOPC成為現代嵌入式系統設計的發展趨勢。SoPC是Altera公司提出的一種靈活、高效的SoC解決方案。它將處理器、存儲器、I/O口、LVDS、CDR等系統設計需要的功能模塊集成到一個可編程器件上,構成一種特殊的可編程片上嵌入式系統。一方面,它是可編程片上系統,即由單個芯片完成整個系統的主要功能,并具備軟硬件系統可編程的能力;另一方面,它內嵌處理器IP核,具有靈活的設計方式,用戶可根據需要隨意配置、構建、裁剪處理器IP核。目前最具有代表性的IP軟核嵌入式處理器是Altera的NiosII軟核。NiosII嵌入式CPU是一種專門為SoPC設計應用而優化的CPU軟核。

在基于NiosII的SoPC嵌入式系統中,幾乎所有的應用設計都需要使用Flash來保存在NiosII中運行的程序代碼、非易失性數據和FPGA的配置數據。因此Flash編程便成為在調試完SoPC系統后的重要工作。要對Flash編程,首先要保證在SoPC Builder中Target選項區域的Board下拉列表框中選擇用戶使用的目標板F1ash編程設計。基于實際設計需求,詳細介紹SoPC目標板Flash編程設計的創建,并以一個最小SoPC系統為例,說明目標板Flash編程設計的應用及Flash編程。

2 Flash Programmer簡介

NiosII IDE提供了Flash Programmer工具來對目標板上遵循通用Flash接口(Common Flash InteRFace,簡稱CFI),規范的Flash及EPCS配置器件進行編程。IDE的FlashProgrammer通過使用Altera的下載電纜能夠方便地對目標板上連接在FPGA上的Flash及串行配置器件EPCS進行編程。

2.1 Flash Programmer編程工作過程

NiosII的IDE Flash Programmer采用兩步驟將數據寫入Flash中。第一步,用一個Altera提供的特殊Flash編程設計(Flash Programmer Design)對FPGA進行配置;第二步,IDEFlash Programmer將要編程到Flash中的文件內容傳送到在FPGA上運行的Flash編程設計,然后Flash編程設計將接收到的數據編寫到Flash中。其編程工作過程如圖1所示。





2.2 Flash編程設計

Flash編程設計實際就是一個由SoPC Builder系統生成的最小FPGA設計。Flash編程設計是IDE Flash Programmer的關鍵組成部分。不同的目標板往往使用不同的Flash器件,并且Flash與FPGA的引腳連接以及FPGA的型號也不相同。因此,每個Flash編程設計都是與具體的目標板相聯系的,不能用于其他的目標板。如果使用自己的目標板,那么設計者必須創建該目標板的Flash編程設計。Altem公司的Nios開發板都提供了相應的Flash編程設計,可以在NiosII開發套件安裝目錄的、ipnios2_ip文件夾中找到。

2.3 Flash編程設計信息

目標板Flash編程設計描述了系統與目標板之間的關系。目標板Flash編程設計對Flash編程必不可少,它提供了Flash Programmer對Flash編程所需的全部信息。一個目標板Flash編程設計是一組SOPC Builder文件,其中必須指明FPGA與Flash的連接關系。一個目標板Flash編程設計包含下列信息:①每一個連接到電路板FPGA上的F1ash的參考元件標號,如U7,U7Flash,U3EPCS等;②Flash器件在F1ash編程設計中的基地址;③用于配置目標板上FPGA的Flash編程設計的SOF文件。

參考元件標號用于區分設計中不同的Flash器件。目標板上的Flash器件在設計時的命名和基地址可能不同,但參考元件標號總是相同的。

3 目標板Flash編程設計的創建

用戶自制目標板,而在Target選項區中的Board下拉列表框中沒有相應的目標板Flash編程設計,用戶就必須自己創建目標板Flash編程設計。

3.1目標板Flash編程設計文件創建

下面以QuaausII 7.0為例,詳細說明目標板Flash編程設計的創建。目標板Flash編程設計在SoPC Builder中實現。在QuaausII中新建一個工程,在[Tools]菜單中選擇[SoPC Builder],打開Ahera SOPC Builder圖形編輯界面環境。在SoPC Builder圖形編輯界面中,在[File]菜單中選擇[New Board Description],打開Board Description Editor對話框,在此對話框中選擇NetList頁面,在Device Familv欄中正確選擇目標板的FPGA系列,這里以Cyclone II為例,如圖2所示。





選擇Flash Memory頁面,單擊New Flash Memory按鈕添加目標板的Flash器件,并輸入正確的連接到目標板FPGA的參考元件標號和Flash器件類型。參考元件標號可命名為用戶的任意字符串,如U7,EPCS,Flash等,但不能命名成U7(CFIFlash),U3(EPCS)等形式。再單擊此頁面的New HardwareImage按鈕,指定FPGA硬件配置程序的存儲位置,一般選擇EPCS器件。如果設置為Flash器件,需要有相應的外部控制器、單片機CPLD配合使用。設置如圖3所示。




FPGA硬件配置可放在NOR Flash中,也可放在EPCS中。在Hardware Image Name欄下輸入硬件配置映像的名稱,如epcs,user,factory等。對于每一個Hardware Image Name,都要選擇一個用來存儲的Flash。如果用戶設計中,即采用EPCS,又采用NOR Flash對FPGA的配置數據進行存儲,則可在Hardware Image Name欄下輸入兩個硬件配置映像名,如user,factory,然后分別指定為前面的參考元件標號;對于offset欄的設置,如果對應的Device欄為Flash器件,則可以指定硬件映像在Flash中的編程偏移地址;如果對應的Device欄為EPCS器件,則不能在offset欄中指定偏移地址。最后選擇Files頁面,輸入Board Description Name,Version和System Template,單擊Finish按鈕完成目標板Flash編程設計的創建,如圖4所示。





System Template欄可通過Brows按鈕選擇設置的系統模板*.ptf(或者直接輸入),也可不設置系統模板。如果設置系統模版,則系統模板需要存儲在目標板Flash編程設計文件目錄下的system文件夾中。并且在構建NiosII CPU時,當選擇帶系統模板的目標板Flash編程設計時,會自動在SoPCBuilder圖形編輯界面添加系統模板帶的CPU組件。

目標板Flash編程設計成功創建后,在QuartusII工程目錄下會生成一個與Board Description Name相同的目錄。在此目錄下包含目標板Flash編程設計的文件class.ptf。文件夾下還包含兩個子文件夾,一個是system,設計者指定的系統模版便存放在此;另一個是netlist,存儲設計者提供的PCB網表文件,格式為wirelist。如果設計者不需要這兩個文件,則為空文件夾。

對于Board Description Editor對話框中其他頁面的選項,與目標板Flash編程設計描述沒有必要的關系。詳細內容請參見Altera的數據手冊。

3.2 目標板Flash編程設計設置

目標板Flash編程設計成功創建后,為了在任何設計的SoPC Builder中都能使用,則可將生成的整個文件夾拷貝到NiosII開發套件安裝目錄的ipnios2_ip文件夾中,或者設置SoPC Builder的搜索路徑,配置Component/Kit Library SearchPath,增加用戶設計的目標板Flash編程設計目錄。然后關閉Ahera SoPC Builder重新啟動SoPC Builder,就可以在SoPCBuilder圖形界面中的Target下拉列表框中找到創建的目標板Flash編程設計。

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編程。
本文地址:http://www.qingdxww.cn/thread-37509-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 利用模擬開發工具生態系統進行安全電路設計
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91免费国产| 欧美成人中文字幕 | 亚洲影院在线观看 | 国产午夜免费不卡精品理论片 | 另类在线 | 欧美高清国产在线观看 | 欧美另类日韩 | 亚洲欧美日韩高清专区一区 | 国产精品区一区二区三 | 男人的天堂亚洲 | 一级毛片在线直接观看 | 4438成人网| 日韩一区二区三区视频 | 欧美日韩国产高清一区二区三区 | 欧美黑粗硬大 | 自拍偷拍第5页 | 在线看欧美成人中文字幕视频 | 影院亚洲| 日韩高清影视 | 色综合合久久天天综合绕视看 | 国产91福利在线精品剧情尤物 | 国产精品亚洲精品爽爽 | 欧美国产中文字幕 | 日日操天天爽 | 日韩成年人视频 | 亚洲精品高清国产麻豆专区 | 日韩 国产 在线 | 玖玖五月| 国产91 最新 在线 | 久久精品免费观看久久 | 久久免费观看视频 | 视频久久| 免费亚洲视频在线观看 | 四虎国产精品永久地址99 | 欧美日韩一区二区在线观看 | 日本v视频| 精品国产1区 | 欧美日韩国产在线观看 | 日本精品一区二区三区在线 | 日本一二三视频 | 日本vr超清在线视频免费 |