0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)雙核的AMP啟動(dòng)

lhl545545 ? 來(lái)源:ZYNQ ? 作者:ZYNQ ? 2022-09-14 09:07 ? 次閱讀

之前章節(jié)中涉及到PS端的裸機(jī)程序都是在CPU0上運(yùn)行的,弄的差點(diǎn)就忘了ZYNQ是擁有兩個(gè)A9硬核的強(qiáng)勁芯片,所以我們必須要學(xué)會(huì)怎么讓兩個(gè)CPU核心同時(shí)運(yùn)行,不然就和之前開發(fā)單片機(jī)有什么區(qū)別呢?本章我們就來(lái)探索如何實(shí)現(xiàn)雙核的AMP啟動(dòng)(PS:博主以前是開發(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)系:0914e9b8-33c3-11ed-ba43-dac502259ad0.png其性能的不同如下所示:098285e0-33c3-11ed-ba43-dac502259ad0.png

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同步呼吸的功能。首先打開 ZYNQ進(jìn)階之路7 中的工程如下所示:099e5306-33c3-11ed-ba43-dac502259ad0.png新建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)題:09cfd2be-33c3-11ed-ba43-dac502259ad0.png將PWM.v文件加入Diagram窗口中:

0a4086bc-33c3-11ed-ba43-dac502259ad0.png將信號(hào)線引出到指定接線上:0a8ee334-33c3-11ed-ba43-dac502259ad0.png對(duì)引腳進(jìn)行綁定:0ab29540-33c3-11ed-ba43-dac502259ad0.png然后生成硬件bit文件,導(dǎo)出硬件,打開SDK進(jìn)行軟件編程:0b187d4c-33c3-11ed-ba43-dac502259ad0.png然后分別創(chuàng)建CPU0和CPU1的兩個(gè)工程,在下圖中選擇:0b49cb36-33c3-11ed-ba43-dac502259ad0.png創(chuàng)建后如下圖所示,其中1為CPU0的工程,2為CPU2的工程:0b890904-33c3-11ed-ba43-dac502259ad0.png在CPU0的工程中輸入如下代碼:0bbef50a-33c3-11ed-ba43-dac502259ad0.png在CPU1工程中輸入如下代碼:0be7a586-33c3-11ed-ba43-dac502259ad0.png修改CPU0的DDR3基地址:0c149f96-33c3-11ed-ba43-dac502259ad0.png修改CPU1的DDR3基地址(注意兩個(gè)CPU的地址不能發(fā)生沖突):0c504b36-33c3-11ed-ba43-dac502259ad0.png右鍵點(diǎn)擊CPU1工程,選擇BSP setting選項(xiàng):0c70370c-33c3-11ed-ba43-dac502259ad0.png在此處添加如下附加信息:0ca0d5f6-33c3-11ed-ba43-dac502259ad0.png然后就可以將兩個(gè)工程編譯后,在run config中設(shè)置如下選項(xiàng):0d7216c0-33c3-11ed-ba43-dac502259ad0.png然后點(diǎn)擊run即可將程序下載到芯片中了,這是可以看到4個(gè)LED一兩個(gè)一對(duì)的方式實(shí)現(xiàn)呼吸燈功能了。在下一章節(jié)我們將講解如何將雙核程序固化到SPI flash中。  

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10813

    瀏覽量

    210880
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6698

    瀏覽量

    123147
  • Amp
    Amp
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    47112

原文標(biāo)題:ZYNQ進(jìn)階之路--AMP模式 雙核同時(shí)運(yùn)行

文章出處:【微信號(hào):ZYNQ,微信公眾號(hào):ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RTOS實(shí)現(xiàn)MCU消息通信

    之間怎么通信?其實(shí),通信的方式和方法有很多種。本文就給大家描述一下:使用FreeRTOS消息緩沖區(qū),實(shí)現(xiàn)簡(jiǎn)單的非對(duì)稱多處理(AMP)核心到核心通信,結(jié)合STM32H7(M4和M7)
    發(fā)表于 06-07 14:45 ?1125次閱讀
    RTOS<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>雙</b><b class='flag-5'>核</b>MCU消息通信

    單片機(jī)是什么

    ,而且還可以通過(guò)軟件在不影響主程序的前提下實(shí)現(xiàn)高速PWM和UART功能。上圖為該單片機(jī)的內(nèi)部構(gòu)架示意圖,從圖可見該單片機(jī)內(nèi)部有兩個(gè),分別為FPP0和FPP1,每個(gè)
    發(fā)表于 11-03 13:10

    nios ii例子

    nios ii例子nios ii例子NIOS II 構(gòu)建的簡(jiǎn)單例子,希望對(duì)大家有所幫
    發(fā)表于 08-12 15:18

    非對(duì)稱MCU基礎(chǔ)知識(shí)及間通信

    來(lái)源 網(wǎng)絡(luò)本文從對(duì)比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對(duì)稱MCU的基礎(chǔ)知識(shí)與重要特點(diǎn)。接下來(lái),重點(diǎn)介紹了
    發(fā)表于 05-15 14:26

    請(qǐng)問(wèn)ccs怎樣實(shí)現(xiàn)調(diào)試?

    TI的技術(shù)專家:你好。我用的是F28M36x系列DSP,請(qǐng)問(wèn)如何在CCS中同步調(diào)試程序?謝謝解答!
    發(fā)表于 10-08 11:02

    基于DSP的視頻解碼芯片驅(qū)動(dòng)研究與實(shí)現(xiàn)

    基于DSP的視頻解碼芯片驅(qū)動(dòng)研究與實(shí)現(xiàn)
    發(fā)表于 05-28 09:11

    如何在CubeIDE中為處理器創(chuàng)建靜態(tài)庫(kù)?

    如何為處理器創(chuàng)建靜態(tài)庫(kù)?在 CubeIDE 下以“New Project”啟動(dòng)時(shí),“Static Library”點(diǎn)不可用,例如,當(dāng)使用 STM32H745 (M4 &amp;
    發(fā)表于 12-05 06:51

    什么是處理器

    什么是處理器 什么是處理器呢?處理器背后的概念蘊(yùn)涵著什么意義呢?簡(jiǎn)而言之,
    發(fā)表于 10-12 09:47 ?1.7w次閱讀

    什么是cpu

    cpu 就是2個(gè)核心,核心(Die)又稱為內(nèi)核,是CPU最重要
    發(fā)表于 12-17 11:01 ?1234次閱讀

    DSP MCU,什么是SP MCU

    DSP MCU,什么是SP MCU 各種數(shù)字消費(fèi)產(chǎn)品特別是便攜式數(shù)字產(chǎn)品的功能已由單一走向多元化,因而原有的半導(dǎo)體解決方案已不能
    發(fā)表于 03-26 15:00 ?1015次閱讀

    什么是處理器?

      簡(jiǎn)單來(lái)說(shuō),處理器就是在一個(gè)硅片上集成兩個(gè)CPU。那么什么是處理器呢?處理器背后的
    發(fā)表于 10-08 18:21 ?881次閱讀

    非對(duì)稱MCU基礎(chǔ)知識(shí)及間通信

    本文從對(duì)比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對(duì)稱MCU的基礎(chǔ)知識(shí)與重要特點(diǎn)。接下來(lái),重點(diǎn)介紹了
    發(fā)表于 03-26 15:31 ?3600次閱讀
    非對(duì)稱<b class='flag-5'>雙</b><b class='flag-5'>核</b>MCU基礎(chǔ)知識(shí)及<b class='flag-5'>核</b>間通信

    非對(duì)稱MCU基礎(chǔ)知識(shí)及間通信

    本文從對(duì)比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對(duì)稱MCU的基礎(chǔ)知識(shí)與重要特點(diǎn)。接下來(lái),重點(diǎn)介紹了
    的頭像 發(fā)表于 03-13 15:47 ?5142次閱讀
    非對(duì)稱<b class='flag-5'>雙</b><b class='flag-5'>核</b>MCU基礎(chǔ)知識(shí)及<b class='flag-5'>核</b>間通信

    ZYNQ開發(fā)運(yùn)行原理及過(guò)程

    ZYNQ是一個(gè)可擴(kuò)展平臺(tái),就是有FPGA作為外設(shè)的A9處理器,它的啟動(dòng)流程與FPGA完全不同,而與傳統(tǒng)的ARM處理器類似,ZYNQ的啟動(dòng)配置需要多個(gè)處理步驟。
    的頭像 發(fā)表于 12-05 10:48 ?5834次閱讀

    正點(diǎn)原子i.MX 93開發(fā)板,A55+M33+NPU,路RS485&amp;amp;FDCAN&amp;amp;千兆網(wǎng),異/AI/工業(yè)開發(fā)!

    正點(diǎn)原子i.MX 93開發(fā)板,A55+M33+NPU,路RS485&amp;FDCAN&amp;千兆網(wǎng),異
    的頭像 發(fā)表于 05-08 15:00 ?685次閱讀
    正點(diǎn)原子i.MX 93開發(fā)板,<b class='flag-5'>雙</b><b class='flag-5'>核</b>A55+M33+NPU,<b class='flag-5'>雙</b>路RS485&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;FDCAN&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;千兆網(wǎng),異<b class='flag-5'>核</b>/AI/工業(yè)開發(fā)!