日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > ZYNQ
		


導(dǎo)語(yǔ)

之前章節(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ì)稱多處理器啟動(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ì)稱多處理器啟動(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中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉