在XILINX官網(wǎng)上看見了一些SDSoc的介紹視頻,感覺這個工具很強大,我之前也有一點點VIVADO+HLS的學(xué)習(xí)經(jīng)歷,感覺會為學(xué)習(xí)SDSoc提供一些幫助,所以就嘗試學(xué)習(xí)學(xué)習(xí)。
先從最基礎(chǔ)的點亮一個LED入手,通過對官方資料的學(xué)習(xí),驚奇的發(fā)現(xiàn)官方給的例程都是對算法加速,而沒有一些入門例程,比如說點亮一個LED(可能是太簡單了官方不屑說,也有可能是我沒找到)。
我用的是ZedBoard開發(fā)板,SDSoc版本2017.4,Win10 64位系統(tǒng)。這個例子是我用ZedBoard開發(fā)板點亮一個直接連在MIO7上的LD9。
第一步:搭建平臺
搭建平臺是使用SDSoc工具開發(fā)的第一步,對于如何搭建平臺,XILINX官方提供了較為詳細(xì)的說明,由于SDSoc2017.4包含了ZedBoard開發(fā)板平臺,而且提供的這個平臺也剛好配置了MIO(如下圖所示),因此這個例子就可以省去搭建平臺的操作。
而且這個平臺也配置了SD對應(yīng)的引腳,這樣就可以使用SD卡啟動開發(fā)板(這些引腳設(shè)置需要參照所使用的開發(fā)板的具體硬件連接)。
第二步:新建工程
1、打開SDSoc(SDx),創(chuàng)建一個Application Project,點擊Next。
2、設(shè)置工程名(MIO_test),點擊Next。
3、選擇硬件平臺,這里需要根據(jù)自己的開發(fā)板的型號進(jìn)行選擇,因為我用的是ZedBoard開發(fā)板,所以選擇zed;從圖中可以看到,SDSoc2017.4只支持zc702、zc706、zcu102、zed這4中開發(fā)板(橙色符號有custom標(biāo)識的是鄙人自己搭建的平臺),因此如果使用的不是上述4種開發(fā)板的話,需要自己搭建平臺;點擊Next。
4、選擇要在ARM核中運行的系統(tǒng),這里選擇standalone(裸機)就行了;點擊Next。
5、選擇一個例程,這里選擇一個空應(yīng)用就可以了,其他的都是比較復(fù)雜的例程;點擊Finish。
6、在如下界面中注意畫圈標(biāo)記的位置,Generate SD card image這個選項是設(shè)置在Debug后生成一些文件,將生成的文件拷貝到SD卡中就可以直接啟動,當(dāng)然設(shè)置這種啟動方式的前提是這個平臺已經(jīng)使能了SD卡對應(yīng)的引腳,而且開發(fā)板也設(shè)置成了SD卡啟模式(一般是通過撥碼開關(guān)設(shè)置,具體要參考所使用的開發(fā)板)。
ZedBoard配置SD卡啟動(白線框出的位置)
第三步:編寫程序并運行
1、右擊src->New->File,F(xiàn)ile name設(shè)置為MIO_test.c(要指明是.c格式文件),點擊Finish。
2、在MIO_test.c中編寫如下程序,然后Ctrl+s保存。
3、點擊Debug(紅圈所示)然后等待結(jié)束,這個過程需要等待好幾分鐘。
4、運行結(jié)束后,在工程目錄下有個sd_card文件夾,我的路徑是這樣的E:\sdsoc20174\projects\MIO_test\Debug\sd_card,將這個文件夾中的4個文件拷貝到一張空SD中,再將卡插到開發(fā)板上,然后對開發(fā)板供電,就可以看見LD9閃爍了。
結(jié)束
這是一個簡單的關(guān)于SDSoc的入門例子,對這個工具分析來看,其實SDSoc就是包含了VIVADO和SDK以及以后要用到的HLS,我們以前使用VIVADO搭建的硬件工程,就是現(xiàn)在的SDSoc中的平臺;以前調(diào)用SDK編寫程序,就是現(xiàn)在的在SDSoc中編寫程序;包括以后會用到的硬件加速,就是SDSoc調(diào)用HLS,將需要加速的函數(shù)轉(zhuǎn)換成IP核連接到平臺通路中。了解這些對應(yīng)關(guān)系將有助于我們理解掌握SDSoc。
評論