複製鏈接
請複製以下鏈接發送給好友

edk

鎖定
EDK=Embedded Development Kit,嵌入式開發套件。 EDK是xilinx公司開發嵌入式系統的工具。比起xilinx的ISE,二者不同在於,如果僅僅是使用xilinx的fpga做邏輯設計,只需要ISE開發環境。但是如果要使用powerpc或者microblaze處理器,從硬件到軟件設計的整個嵌入式系統設計,就需要EDK。
中文名
嵌入式開發套件
外文名
edk
公    司
xilinx公司
全    稱
Embedded Development Kit

edkEDK介紹

嵌入式系統經歷了從單片計算機工業控制計算機、集中分佈式控制系統,發展到嵌入式的平台的幾個階段:從獨立單機使用發展到聯網設備;從以模擬電路為主發展到以數字電路為主、數/模混合型,進而進入全數字時代。總的來説,嵌入式系統向着更高性能、更小體積、更低功耗、更廉價、無處不在的方向發展。嵌入式系統的設計和實現朝着基於芯片,特別是片上可編程系統(SOPC)的方向發展。
嵌入式開發套件(EDK)是用於設計嵌入式可編程系統的全面解決方案。該套件包括嵌入式軟件工具(Platform Studio)以及嵌入式IBM PowerPC硬件處理器核和/或Xilinx MicroBlaze軟處理器核進行Xilinx平台FPGA設計時所需的技術文檔和IP。注意,這裏的嵌入式軟件工具指用來產生、編輯、編譯、鏈接、加載和調試高級編程語言(通常是C或C++)代碼的工具,以便在處理器引擎上執行。
由於嵌入式系統涉及了軟件和硬件的開發以及兩者的綜合設計,因此其開發是較為複雜的。Xilinx為了簡化基於FPGA的嵌入式開發流程,提供了功能強大、操作簡單的工具集:集成軟件環境——ISE;嵌入式開發套件——EDK。(註釋:ISE 是Xilinx 公司FPGA 邏輯設計的基礎。在這個環境中,設計者可以進行約束文件的編寫,時序分析,邏輯佈局佈線以及器件編程等。)
EDK自帶了許多工具和IP,可以用來設計完整的嵌入式處理器系統,主要包括Xilinx 平台工作室XPS和軟件開發套件SDK。需要注意的是:只有安裝了ISE軟件,才能正常運行EDK,且二者的版本要一致。
EDK的組成模塊有:
1.Xilinx 平台工作室(Xilinx Platform Studio,XPS)
XPS 是用來設計嵌入式處理器系統硬件部分的開發環境或GUI,是系統設計者構建 Xilinx嵌入式系統時必用的工具套件。在XPS中,可以完成嵌入式系統架構的創建、軟件代碼的編寫、設計的編譯以及FPGA芯片的硬件配置
2.軟件開發套件(Software Development Kit,SDK)
SDK是集成的開發環境,基於Eclipse。它支持C/C++,用於嵌入式軟件應用的開發和驗證。
3.其它EDK部分
EDK還包括其它的一些部分,如:用於Xilinx嵌入式處理器的硬IP;用於嵌入式軟件開發的驅動和庫;在MicroBlaze和PowerPC處理器上用於C/C++軟件開發的GNU編譯器和調試器;有關文檔以及一些工程樣例等。
Xilinx的嵌入式開發套件EDK帶有許多的工具和IP,可以用來設計完整的嵌入式處理器系統,並在Xilinx FPGA芯片上運行。EDK中包含了開發硬件和軟件所必須的全部工具,可以很方便的添加系統自帶的IP核和用户自定義的IP核,可以通過調用ISE等其他工具實現佈局佈線,時序優化等等。可以調用GDB對應用程序進行板上調試及虛擬平台調試。

edk實現流程

2.1、基於EDK的開發流程
圖1簡化的嵌入式設計流程圖 圖1簡化的嵌入式設計流程圖
一個完整的嵌入式設計流程包括硬件設計和調試、軟件設計與調試,各個步驟相對獨立但又相輔相成。由於嵌入式應用場合多樣,且軟、硬件都可裁剪,因此並不是每個設計都要完成所有的步驟。圖1中為基於EDK 的嵌入式設計的簡化流程圖。
通常,ISE FPGA 開發軟件在後台運行,XPS 工具調用ISE 軟件提供的功能。XPS 主要用來嵌入式處理器硬件系統的開發。微處理器、外圍設備以及這些組件之間的連接問題,另外還有它們各自的屬性設置都在XPS 裏進行。簡單的軟件開發可以在XPS 裏完成,而對於更復雜的應用開發和調試,Xilinx 則推薦使用SDK 工具。硬件平台的功能驗證可以通過硬件描述語言HDL 仿真器完成。XPS 提供了行為級、結構級以及定時精確級等三種類型的仿真。驗證過程結構由XPS 自動產生,其中包括了仿真的HDL 文件。設計者只需要輸入時鐘時序、重配置信息以及一些應用代碼即可。仿真細節將在下面的內容中進行相關講述。完成設計後,在XPS 中將FPGA 比特流和可執行可鏈接格式文件下載,就可以進行目標器件的配置。
圖2完整的嵌入式設計流程圖 圖2完整的嵌入式設計流程圖
完整的EDK 開發流程如圖2所示,其主要步驟有:1. 創建硬件平台:利用XPS 的板級開發包嚮導(BSB Wizard)快速構建設計的硬件平台,是EDK 設計的第一步。
2. 添加IP Core 以及用户定製外設:在XPS 中添加所需的IP Core,對於XPS 庫中缺少的模塊,需要用户自行設計。同樣,XPS 提供了建立用户自定義外設的嚮導,可簡化該過程。
3. 生成仿真文件並測試硬件系統:生成硬件系統的仿真文件,可選擇行為級、結構級以及時序級仿真,利用ModelSim等工具測試系統,特別是用户自定義的外設;如果測試失敗,需要返回上一步修改。
4. 生成硬件比特流:生成硬件網表和比特流文件,這個步驟類似於傳統FPGA 設計的綜合、佈局佈線、生成編程文件這3 個操作。
5. 開發軟件系統:針對軟件需求編寫硬件代碼,確定軟件的操作系統、庫、外設驅動等屬性,針對每個應用軟件工程,設置編譯器、優化級別、使用的連接文件等信息。等設置完成後,編譯生成.elf 格式的可執行代碼
6. 合併軟、硬件比特流:編譯軟件後,需要將軟、硬件可執行文件合併在一起,生成最終的二進制比特文件。
7. 下載:使用JTAG編程電纜或編程器將更新後的最終比特流燒寫到 FPGA、PROM、FLASH以及CF 卡。
8. 在線調試:可利用XMD工具或ChipScope 工具調試,通過JTAG編程電纜在線調試,下載可執行軟件代碼、控制執行,並監控相關信息。
2.2、EDK設計比特文件的組成
圖3EDK 配置比特文件的組成結構 圖3EDK 配置比特文件的組成結構
如前所述,最終下載到FPGA 的嵌入式比特流文件是軟、硬件比特流合併在一起的,詳細的組成部分如圖3所示。硬件部分比特流包括MHS 文件、用户自定義HDL 代碼,二者經過綜合實現後,產生.ngc 網表,生成硬件系統的比特流文件;軟件系統包括 MSS 文件、用户.c/cpp/asm文件,通過GCC 編譯器,生成目標文件.obj,再經過連接合成軟件系統的比特流文件;最後通過Data2MEM過程,將軟、硬件比特流合成完整系統比特流文件,通過JTAG鏈路下載到FPGA 芯片中。

edk添加IP

安裝時候需要版本搭配,如ISE8.1搭配EDK8.1。首先,説説使用EDK加入用户設計的IP。
1、啓動XPS(xilinx platform studio),生成一個processor system,其中可以選擇處理器,硬IP(powerpc)或軟IP(microblaze),以及可選的IP(BRAM、UART)等。如果這個階段拿不定不要什麼IP,以後添加刪除都可以。
2、啓動Create and Import Peripheral Wizard,創建IPIF,選擇需要的屬性,如是否包括FIFO、DMA等,系統會自動創建HDL文檔模板,用户只需要添加用户程序部分。同coreconnect總線連接部分不用用户操心。
3、使用ISE的Project Navigator,打開第二步生成的.npl文件,添加入自己的代碼,在ISE裏進行編譯。
4、如果需要,進行BFM(總線功能模型)仿真
5、若在第三步裏,用户對接口有修改,需要重新啓用Create and Import Peripheral Wizard,來生成EDK接口(.pao/.mpd文件)
6、使用XPS - Add/Edit Core Dialog,添加用户IP到第一步的工程中
7、使用XPS生成IP driver。
8、編譯、下載bit文件到開發板