最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Zynq UltraScale四核調(diào)試

2023-07-25 12:34 作者:海鷗之道  | 我要投稿

硬件型號:MZU07C

APU:?A53四核

RPU:R5兩核

這節(jié)分享A53四核調(diào)試經(jīng)驗,首先聊下兩核運行,官方資料或者廠商都會給雙核例程,功能是core0開啟tcp通信接收網(wǎng)絡(luò)調(diào)試助手的數(shù)據(jù),將數(shù)據(jù)存到共享內(nèi)存空間,然后開啟軟件中斷通知給core1,core1接收到中斷指令后讀取共享內(nèi)存數(shù)據(jù),完成雙核APU數(shù)據(jù)通信。

實現(xiàn)這部分功能的資料滿天飛,這里不再贅述,主要分享軟件中斷的兩個函數(shù),因為介紹這兩個函數(shù)的資料不多:

這個是軟件中斷初始化函數(shù),參數(shù)注釋:

1、Cpu0_Intr_Hanedler表示中斷處理函數(shù),就是中斷來臨時,會調(diào)用這個回調(diào)函數(shù)處理信息。

2、CORE1_TO_CORE0_INTR_ID: 這個定義為0x02,當(dāng)時剛看這個時候有點懵,c例程定義的CORE0_TO_CORE1_INTR_ID、CORE1_TO_CORE0_INTR_ID,云里霧里,實際上就是中斷號,軟件中斷有16個,對應(yīng)著0~15,這里就是core0定義成2而已,其實完全可以core0定義成1,core1定義成2,這樣對于初學(xué)者更好理解。

3、最后一個參數(shù)0,代表著APU號, 用core0,這里就是0,core1這里就是1。

在一個就是中斷產(chǎn)生函數(shù),參數(shù)&Intc 不多說固定用就行了。

CORE0_TO_CORE1_INTR_ID, XSCUGIC_SPI_CPU1_MASK,這兩個參數(shù)表示目標(biāo)core的中斷號和CPU\APU號,可以右擊XSCUGIC_SPI_CPU1_MASK找到定義:

好了,雙核到此為止,雙核程序應(yīng)該可以跑起來了,如果還有沒跑起來的,歡迎私信討論。

下面分享下,在加一個核時出現(xiàn)的問題:

操作如下:

1、添加一個應(yīng)用,選擇core2,helloworld例程:

2、編譯,運行調(diào)試

此時,發(fā)現(xiàn)FPGA程序可以正常燒入,

core2提示有問題:

報錯信息提示coretex-A53#2沒有供電,心細(xì)的話,我們在運行core0的時候,在debug界面也會有如下提示:

說名A53后面兩個核都沒有供電,屬于硬件問題,解決辦法在vivado中,將A53后面兩個核供電打開,因為默認(rèn)情況下,考慮低功耗,都是將后面兩個核關(guān)掉的,操作如下:

1、在vivado中找到Block Properties,選中Properties,最大化

2、找到CONFIG,搜索框輸入power:

將PSU_ACPU2_POWER_ON和PSU_ACPU3_POWER_ON由原來的0改成1即可打開供電

3、重新生成.xsa文件,替換掉SDK工程中的.xsa,編譯運行,就沒有問題了,在添加core3工程,運行都正常。


然后將core1中的代碼全部考到core2中,稍作修改:

初始化軟件中斷:

軟件中斷向core0中發(fā)送:

software_intr.c中添加:

然后編譯運行:

可以看出,三個核的運行信息,第四個核沒改程序,運行完helloworld就退出了~


Zynq UltraScale四核調(diào)試的評論 (共 條)

分享到微博請遵守國家法律
翁源县| 喀喇沁旗| 稷山县| 长兴县| 沐川县| 商城县| 嘉荫县| 屯留县| 襄垣县| 视频| 苏尼特左旗| 南溪县| 乌鲁木齐市| 贡山| 盐源县| 甘洛县| 大理市| 玛纳斯县| 七台河市| 孙吴县| 神农架林区| 凤山县| 常宁市| 砚山县| 英山县| 响水县| 台安县| 三门县| 芦溪县| 济阳县| 林西县| 嵊州市| 鄯善县| 余干县| 沾化县| 尉氏县| 玛纳斯县| 万源市| 皋兰县| 磐石市| 临猗县|