本文參考 Xilinx SDK軟件內(nèi)置的教程,打開方法:打開SDK->Help->Cheet Sheets...->Xilinx SDK Tutorials,這里有6篇文檔。本文詳細(xì)介紹其中的4篇(與Application相關(guān))
如何創(chuàng)建一個新的軟件應(yīng)用
1.打開SDK,切換到c/c++界面下。(有兩個界面,還有一個是Debug界面,在軟件右上角處切換)
2.指定一個新的硬件平臺項目
在SDK開發(fā)軟件時,需要指定硬件平臺。(如果你打開一個現(xiàn)成的SDK工作空間,這一步可以省略)如果SDK工作空間中沒有指定,BSP新建窗口會彈出,詢問你硬件平臺。
---File > New > Other > Xilinx > Hardware Platform Specification
---Next, 顯示新的硬件項目對話框。
---設(shè)定項目名稱,以及由Vivado產(chǎn)生的硬件平臺。
---Finish.
3.創(chuàng)建一個獨立的板級支持包(Board Support Package )
---File > New > Board Support Package,打開對話框。
---指定新項目的名字(已初始一個默認(rèn)的名稱)
---從CPU下拉列表中,選擇目標(biāo)處理器
---從BSP OS下拉列表中,選擇操作系統(tǒng),默認(rèn)是standalone(沒有操作系統(tǒng))
---Finish.彈出BSP設(shè)置對話框
---配置參數(shù),生成一個BSP
---OK
4.創(chuàng)建應(yīng)用項目
---File > New > Application Project
---指定項目名稱
---選擇OS
---選擇目標(biāo)硬件平臺
---選擇目標(biāo)處理器
---選擇編程語言
---選擇一個現(xiàn)有的BSP,或者新建一個
---Next
---選擇一個模板,生成一個可直接運行的軟件工程
---Finish
如何調(diào)試一個軟件應(yīng)用
1.配置目標(biāo)連接
如果你想用本地設(shè)備,你可以跳過這個步驟。
---確保設(shè)備和remote host相連接。
---在remote host上啟動hw_server,通過執(zhí)行hw_server.bat或者h(yuǎn)w_server.csh文件。
---在‘Target Connection’下,單擊“Add Target Connection”。
---在‘Target Name’中指定遠(yuǎn)程連接的名稱。
---‘Set as default target’此項可選擇。
---指定hw_server的ip地址和端口號。hw_server的默認(rèn)端口號是3121。
---OK
2.調(diào)試應(yīng)用
使用一個調(diào)試配置來調(diào)試目標(biāo)硬件平臺上的程序。如果已有一個調(diào)試配置,可以重復(fù)使用。否則就需要創(chuàng)建一個新的。
---Run > Debug Configurations.
---在左邊的配置列表中,點擊“Xilinx C/C++ application(System Debugger)”。
---點擊Debug.
如何profile一個軟件應(yīng)用
在profile一個C程序之前,你應(yīng)該已經(jīng)創(chuàng)建了一個軟件應(yīng)用,并在目標(biāo)硬件平臺上運行了。
1.設(shè)置硬件
在profile軟件應(yīng)用之前,必須保證中斷能周期性地觸發(fā)以獲得程序program counter的值。這需要在系統(tǒng)中有一個獨立的定時器。如可查看呢?在Project Explorer中打開硬件平臺標(biāo)準(zhǔn)文件(XML文件),點擊硬件設(shè)計報告鏈接。查看系統(tǒng)中是否有一個和處理器直接連接的定時器,或者中間夾一個中斷控制器。
2.設(shè)置BSP
---在Project Explorer中選擇BSP
---右鍵,選擇‘Board Support Package Settings’.
---點擊操作系統(tǒng)名稱,例如‘srandalone’,來配置它的參數(shù)?!甧nable_sw_intrusive_profiling’為true,選擇profile庫需要使用的定時器。
---BSP應(yīng)該使用 -pg編譯參數(shù)進(jìn)行編譯。 單擊‘drivers’,選擇cpu驅(qū)動,在‘extra_compile_flags’中添加‘-pg’.
---OK
---Build(如果設(shè)置了自動構(gòu)建,就不用手動構(gòu)建了)
3.設(shè)置軟件應(yīng)用
---修改軟件設(shè)置,來允許使用profile interrupts。更多細(xì)節(jié),查看Help.
---右鍵軟件應(yīng)用,選擇C/C++ Settings,(或者 Properties > C/C++ Build > Settings),改變工具設(shè)置中g(shù)cc編譯器為Profiling,單擊Enable Profiling(-pg),單擊OK。
---Build(如果設(shè)置了自動構(gòu)建,就不用手動構(gòu)建了)
4.創(chuàng)建一個Profile配置
你需要創(chuàng)建一個profile配置,配置可以反復(fù)使用。
---在C/C++視圖下,選擇需要調(diào)試的應(yīng)用。
---Run > Run
---在配置區(qū)域,展開 Xilinx C/C++ ELF.
---單擊New。
---確保使用Profile配置選項產(chǎn)生的ELF文件在C/C++視圖下被選中。
---在Profile Options下,做下面三件事情:
1>勾選Enable Profiling
2>默認(rèn)采樣頻率和直方圖尺寸的參數(shù)。
3>指定 Scratch Memory Address to Collect Profile Data,用16進(jìn)制的形式。這是系統(tǒng)內(nèi)存地址,而不是軟件應(yīng)用使用的內(nèi)存地址。
---其他都默認(rèn),Run
5. Profiling the Application
當(dāng)程序全部執(zhí)行完,或者按下停止按鈕,SDK會下載profile數(shù)據(jù),并把它存在gmon.out文件中。
在Project Explorer下,打開gmon.out。SDK窗口下方自動打開profile視圖。
如何調(diào)試一個軟件應(yīng)用
1.配置目標(biāo)連接(與調(diào)試相同)
如果你想用本地設(shè)備,你可以跳過這個步驟。
---確保設(shè)備和remote host相連接。
---在remote host上啟動hw_server,通過執(zhí)行hw_server.bat或者h(yuǎn)w_server.csh文件。
---在‘Target Connection’下,單擊“Add Target Connection”。
---在‘Target Name’中指定遠(yuǎn)程連接的名稱。
---‘Set as default target’此項可選擇。
---指定hw_server的ip地址和端口號。hw_server的默認(rèn)端口號是3121。
---OK
2.調(diào)試應(yīng)用
使用一個調(diào)試配置來調(diào)試目標(biāo)硬件平臺上的程序。如果已有一個調(diào)試配置,可以重復(fù)使用。否則就需要創(chuàng)建一個新的。
---Run > Run Configurations.
---在左邊的配置列表中,點擊“Xilinx C/C++ application(System Debugger)”。
---點擊Debug.
如何使用SPM工程(System Performance Model)
SPM工具提供了硬件和軟件的早期exploration
1.創(chuàng)建一個新的SPM工程
File > New > SPM Project
2.加載一個SPM工程
從Projects列表上選擇一個SPM應(yīng)用。單擊Finish
3.運行
單擊Run.
評論
查看更多