Xilinx SDK使用教程
本文參考 Xilinx SDK軟體內建的教程,開啟方法:開啟SDK->Help->Cheet Sheets...->Xilinx SDK Tutorials,這裡有6篇文件。本文詳細介紹其中的4篇(與Application相關)
如何建立一個新的軟體應用
1.開啟SDK,切換到c/c++介面下。(有兩個介面,還有一個是Debug介面,在軟體右上角處切換)
2.指定一個新的硬體平臺專案
在SDK開發軟體時,需要指定硬體平臺。(如果你開啟一個現成的SDK工作空間,這一步可以省略)如果SDK工作空間中沒有指定,BSP新建視窗會彈出,詢問你硬體平臺。
---File > New > Other > Xilinx > Hardware Platform Specification
---Next, 顯示新的硬體專案對話方塊。
---設定專案名稱,以及由Vivado產生的硬體平臺。
---Finish.
3.建立一個獨立的板級支援包(Board Support Package <BSP>)
---File > New > Board Support Package,開啟對話方塊。
---指定新專案的名字(已初始一個預設的名稱)
---從CPU下拉列表中,選擇目標處理器
---從BSP OS下拉列表中,選擇作業系統,預設是standalone(沒有作業系統)
---Finish.彈出BSP設定對話方塊
---配置引數,生成一個BSP
---OK
4.建立應用專案
---File > New > Application Project
---指定專案名稱
---選擇OS
---選擇目標硬體平臺
---選擇目標處理器
---選擇程式語言
---選擇一個現有的BSP,或者新建一個
---Next
---選擇一個模板,生成一個可直接執行的軟體工程
---Finish
如何除錯一個軟體應用
1.配置目標連線
如果你想用本地裝置,你可以跳過這個步驟。
---確保裝置和remote host相連線。
---在remote host上啟動hw_server,通過執行hw_server.bat或者hw_server.csh檔案。
---在‘Target Connection’下,單擊“Add Target Connection”。
---在‘Target Name’中指定遠端連線的名稱。
---‘Set as default target’此項可選擇。
---指定hw_server的ip地址和埠號。hw_server的預設埠號是3121。
---OK
2.除錯應用
使用一個除錯配置來除錯目標硬體平臺上的程式。如果已有一個除錯配置,可以重複使用。否則就需要建立一個新的。
---Run > Debug Configurations.
---在左邊的配置列表中,點選“Xilinx C/C++ application(System Debugger)”。
---點選Debug.
如何profile一個軟體應用
在profile一個C程式之前,你應該已經建立了一個軟體應用,並在目標硬體平臺上運行了。
1.設定硬體
在profile軟體應用之前,必須保證中斷能週期性地觸發以獲得程式program counter的值。這需要在系統中有一個獨立的定時器。如可檢視呢?在Project Explorer中開啟硬體平臺標準檔案(XML檔案),點選硬體設計報告連結。檢視系統中是否有一個和處理器直接連線的定時器,或者中間夾一箇中斷控制器。
2.設定BSP
---在Project Explorer中選擇BSP
---右鍵,選擇‘Board Support Package Settings’.
---點選作業系統名稱,例如‘srandalone’,來配置它的引數。‘enable_sw_intrusive_profiling’為true,選擇profile庫需要使用的定時器。
---BSP應該使用 -pg編譯引數進行編譯。 單擊‘drivers’,選擇cpu驅動,在‘extra_compile_flags’中新增‘-pg’.
---OK
---Build(如果設定了自動構建,就不用手動構建了)
3.設定軟體應用
---修改軟體設定,來允許使用profile interrupts。更多細節,檢視Help.
---右鍵軟體應用,選擇C/C++ Settings,(或者 Properties > C/C++ Build > Settings),改變工具設定中gcc編譯器為Profiling,單擊Enable Profiling(-pg),單擊OK。
---Build(如果設定了自動構建,就不用手動構建了)
4.建立一個Profile配置
你需要建立一個profile配置,配置可以反覆使用。
---在C/C++檢視下,選擇需要除錯的應用。
---Run > Run
---在配置區域,展開 Xilinx C/C++ ELF.
---單擊New。
---確保使用Profile配置選項產生的ELF檔案在C/C++檢視下被選中。
---在Profile Options下,做下面三件事情:
1>勾選Enable Profiling
2>預設取樣頻率和直方圖尺寸的引數。
3>指定 Scratch Memory Address to Collect Profile Data,用16進位制的形式。這是系統記憶體地址,而不是軟體應用使用的記憶體地址。
---其他都預設,Run
5. Profiling the Application
當程式全部執行完,或者按下停止按鈕,SDK會下載profile資料,並把它存在gmon.out檔案中。
在Project Explorer下,開啟gmon.out。SDK視窗下方自動開啟profile檢視。
如何除錯一個軟體應用
1.配置目標連線(與除錯相同)
如果你想用本地裝置,你可以跳過這個步驟。
---確保裝置和remote host相連線。
---在remote host上啟動hw_server,通過執行hw_server.bat或者hw_server.csh檔案。
---在‘Target Connection’下,單擊“Add Target Connection”。
---在‘Target Name’中指定遠端連線的名稱。
---‘Set as default target’此項可選擇。
---指定hw_server的ip地址和埠號。hw_server的預設埠號是3121。
---OK
2.除錯應用
使用一個除錯配置來除錯目標硬體平臺上的程式。如果已有一個除錯配置,可以重複使用。否則就需要建立一個新的。
---Run > Run Configurations.
---在左邊的配置列表中,點選“Xilinx C/C++ application(System Debugger)”。
---點選Debug.
如何使用SPM工程(System Performance Model)
SPM工具提供了硬體和軟體的早期exploration
1.建立一個新的SPM工程
File > New > SPM Project
2.載入一個SPM工程
從Projects列表上選擇一個SPM應用。單擊Finish
3.執行
單擊Run.