1.簡(jiǎn)述
使用像ZYNQ這樣的SOC架構(gòu)的FPGA,開發(fā)難度比較大的,能熟練開發(fā)FPGA已經(jīng)很難了,ZYNQ需要硬件邏輯開發(fā),然后還要開發(fā)ARM。在學(xué)校使用ZYNQ一年多的時(shí)間里了,斷斷續(xù)續(xù)用ZYNQ做了很多項(xiàng)目,總的使用體驗(yàn)就是:很爽,同時(shí)也很酸爽。今天專門記一下c/c++ 的指針,這也不難,就是容易迷糊,一周不寫c代碼,指針就不會(huì)用了,每次都要花點(diǎn)時(shí)間重新?lián)炱饋?lái),為了提高效率,還是總結(jié)一下,結(jié)合vivado 的sdk開發(fā)工具記錄。
2.正文
1)準(zhǔn)備
vivado搭建一個(gè)簡(jiǎn)單PS 的工程(記得勾選uart),生成bit,導(dǎo)出硬件,啟動(dòng)sdk,新建helloworld的工程就行。然后跑一下,看串口是否能打印helloworld。如果可以,這就成功搭建工程了。
2)開始
(1)進(jìn)入debug模式,頁(yè)面如下,黃框是現(xiàn)在代碼運(yùn)行的位置,我們要點(diǎn)擊紅框中的按鈕進(jìn)行單步調(diào)試(這個(gè)對(duì)熟悉單片機(jī)或者arm開發(fā)的來(lái)說很熟悉),我們簡(jiǎn)單在hello world源碼上簡(jiǎn)單添加藍(lán)框中的代碼??梢钥吹椒奂t框中有變量的信息,現(xiàn)在的值是不對(duì)的,因?yàn)閐ata那行代碼還沒運(yùn)行,點(diǎn)擊紅框,值就會(huì)變成我們代碼賦的值。

(2)點(diǎn)擊后,可以看到data值變了,這是十進(jìn)制的數(shù),可以用計(jì)算器轉(zhuǎn)成16進(jìn)制數(shù),是一樣的。把鼠標(biāo)放到data上面會(huì)顯示data信息,可以知道data地址,如紅框中的。在右下角,點(diǎn)擊進(jìn)入memory ,點(diǎn)擊加號(hào),填入data的地址,就可以知道現(xiàn)在data在memory中的值了。這些是sdk簡(jiǎn)單調(diào)試技巧。

(3)添加如下指針代碼,運(yùn)行,查看memory中0x01000000地址中的值,因?yàn)槭莄har型,是一個(gè)字節(jié),arm都是32位的,所以這個(gè)數(shù)據(jù)占低8位,數(shù)值正確。

(4)把鼠標(biāo)放到srcDPtr上,如下圖顯示信息。他的值是0x01000000,而他的地址是0x10c020,這兒還是挺疑惑的。可以這么理解,我們給srcDPtr賦0x01000000,這是srcDPtr是變量,那么也應(yīng)該有對(duì)應(yīng)的memory地址。這兒就可以完全理解指針了,指針變量的值是對(duì)應(yīng)地址的值,指針變量的值本身也需要memory存儲(chǔ),所以他也有地址。挺繞的,所以隔幾天不寫c代碼,看著容易懵。

(5)添加如下代碼,按之前方法求證。

3.總結(jié)
學(xué)習(xí)過程很漫長(zhǎng),現(xiàn)在回首一看,原來(lái)自己走了這么遠(yuǎn)了,望向遠(yuǎn)方,繼續(xù)前進(jìn)?。?!
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1660文章
22415瀏覽量
636531 -
SDK
+關(guān)注
關(guān)注
3文章
1101瀏覽量
51746 -
Vivado
+關(guān)注
關(guān)注
19文章
857瀏覽量
71138
發(fā)布評(píng)論請(qǐng)先 登錄
入門宇樹機(jī)器人開發(fā):從SDK源碼探索到實(shí)戰(zhàn)操作
恩智浦嵌入式HMI應(yīng)用開發(fā)工具GUI Guider 1.10.1全新上線
PYQT 應(yīng)用程序框架及開發(fā)工具
三種開發(fā)工具的功能和優(yōu)勢(shì)
eForce無(wú)線通信軟件開發(fā)工具包兼容WLAN模塊WKR612AA1
IAR開發(fā)工具鏈有什么優(yōu)勢(shì)
IQM 宣布 Resonance 量子云平臺(tái)重大升級(jí),推出全新軟件開發(fā)工具包
在IAR Arm開發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用
IAR開發(fā)平臺(tái)升級(jí)Arm和RISC-V開發(fā)工具鏈,加速現(xiàn)代嵌入式系統(tǒng)開發(fā)
AI開發(fā)工具分類與功能
鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置
結(jié)合vivado的sdk開發(fā)工具記錄
評(píng)論