之前章節(jié)中涉及到PS端的裸機(jī)程序都是在CPU0上運(yùn)行的,弄的差點(diǎn)就忘了ZYNQ是擁有兩個(gè)A9硬核的強(qiáng)勁芯片,所以我們必須要學(xué)會(huì)怎么讓兩個(gè)CPU核心同時(shí)運(yùn)行,不然就和之前開(kāi)發(fā)單片機(jī)有什么區(qū)別呢?本章我們就來(lái)探索如何實(shí)現(xiàn)雙核的AMP啟動(dòng)(PS:博主以前是開(kāi)發(fā)單片機(jī)和FPGA過(guò)來(lái)的)。
ZYNQ雙核啟動(dòng)方式簡(jiǎn)介
非對(duì)稱(chēng)多處理器啟動(dòng)(AMP啟動(dòng))
這個(gè)模式啟動(dòng)可以用語(yǔ)使用多個(gè)CPU核的系統(tǒng)上,比如像ZYNQ這樣的多核芯片上,在這種模式下,每個(gè)CPU核可以運(yùn)行自己的操作系統(tǒng),比如可以CPU0跑裸機(jī)而CPU1跑FreeRTOS系統(tǒng),再比如CPU0跑FreeRTOS系統(tǒng)而CPU1跑LINUX系統(tǒng);而CPU之間的通訊是通過(guò)共享內(nèi)存的方式進(jìn)行的。
對(duì)稱(chēng)多處理器啟動(dòng)(SMP啟動(dòng))
在該啟動(dòng)模式下所有的CPU必須是完全相同的構(gòu)架,并且所有CPU必須運(yùn)行單個(gè)操作系統(tǒng)一起運(yùn)行,這個(gè)操作系統(tǒng)把進(jìn)程任務(wù)分派到各個(gè)CPU上,并且加以協(xié)調(diào)。和AMP一樣,CPU之間是通過(guò)共享內(nèi)存來(lái)做通信,以及任務(wù)執(zhí)行的協(xié)調(diào)。所以SMP的啟動(dòng)方式不適合在裸機(jī)以及RTOS環(huán)境下實(shí)現(xiàn)。
兩種啟動(dòng)方式的比較
下圖描述了AMP和SMP的不同,以及他們?cè)赯YNQ平臺(tái)上的對(duì)應(yīng)關(guān)系:其性能的不同如下所示:
AMP啟動(dòng)的實(shí)現(xiàn)
我們本節(jié)工程是基于 ZYNQ進(jìn)階之路7 章節(jié)的內(nèi)容實(shí)現(xiàn)的,在ZYNQ進(jìn)階之路7 章節(jié)中我們輸出了兩路PWM波實(shí)現(xiàn)呼吸燈的功能,在本章節(jié)中我們分別使用CPU0和CPU1控制兩個(gè)LED等實(shí)現(xiàn)兩個(gè)呼吸燈的功能,我們?cè)偻ㄟ^(guò)邏輯在PL端增加兩個(gè)端口輸出PWM控制LED,這兩個(gè)LED實(shí)現(xiàn)和前面兩個(gè)LED同步呼吸的功能。首先打開(kāi) ZYNQ進(jìn)階之路7 中的工程如下所示:新建verliog文件輸入以下代碼,代碼中的50M時(shí)鐘我們使用PL端的50M晶振提供,所以和PS端屬于異步時(shí)鐘,因?yàn)镻S端提供給PL端的時(shí)鐘也為50M,所以這里我們對(duì)其進(jìn)行簡(jiǎn)單的跨時(shí)鐘域處理,多周期同步,對(duì)兩個(gè)PWM信號(hào)進(jìn)行打兩個(gè)時(shí)鐘節(jié)拍的方式實(shí)現(xiàn)同步,這種方式能解決一些簡(jiǎn)單的異步時(shí)鐘域問(wèn)題:將PWM.v文件加入Diagram窗口中:
將信號(hào)線引出到指定接線上:對(duì)引腳進(jìn)行綁定:然后生成硬件bit文件,導(dǎo)出硬件,打開(kāi)SDK進(jìn)行軟件編程:然后分別創(chuàng)建CPU0和CPU1的兩個(gè)工程,在下圖中選擇:創(chuàng)建后如下圖所示,其中1為CPU0的工程,2為CPU2的工程:在CPU0的工程中輸入如下代碼:在CPU1工程中輸入如下代碼:修改CPU0的DDR3基地址:修改CPU1的DDR3基地址(注意兩個(gè)CPU的地址不能發(fā)生沖突):右鍵點(diǎn)擊CPU1工程,選擇BSP setting選項(xiàng):在此處添加如下附加信息:然后就可以將兩個(gè)工程編譯后,在run config中設(shè)置如下選項(xiàng):然后點(diǎn)擊run即可將程序下載到芯片中了,這是可以看到4個(gè)LED一兩個(gè)一對(duì)的方式實(shí)現(xiàn)呼吸燈功能了。在下一章節(jié)我們將講解如何將雙核程序固化到SPI flash中。
-
cpu
+關(guān)注
關(guān)注
68文章
10640瀏覽量
208656 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6491瀏覽量
122597 -
Amp
+關(guān)注
關(guān)注
0文章
77瀏覽量
47073
原文標(biāo)題:ZYNQ進(jìn)階之路--AMP模式 雙核同時(shí)運(yùn)行
文章出處:【微信號(hào):ZYNQ,微信公眾號(hào):ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論