色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

雙核MCU開發(fā)其實(shí)也不難!

5RJg_mcuworld ? 來源:未知 ? 作者:胡薇 ? 2018-10-16 18:04 ? 次閱讀

多核的微控制器(MCU)向來是設(shè)計(jì)上的一大挑戰(zhàn),尤其是多核異構(gòu)的設(shè)計(jì)。恩智浦半導(dǎo)體早在2011年年底,就率先推出了基于Cortex-M4F和Cortex-M0的雙核MCU——LPC43xx/43Sxx系列, 主頻高達(dá)204MHz。憑借其超強(qiáng)的處理性能,很快受到業(yè)界的好評。四年之后,MCU雙核精簡版本LPC5411x系列,在廣大LPC發(fā)燒友的期待中,終于露出了一代天驕的本色。

雙核MCU:LPC5411x

這款LPC5411x系列MCU集成了Cortex-M4F和Cortex-M0+雙內(nèi)核,主頻高達(dá)100MHz 。因?yàn)镃ortex-M4F內(nèi)核采用Harvard架構(gòu),3級流水線,支持SIMD,支持單精度浮點(diǎn)運(yùn)算,單個(gè)時(shí)鐘周期就能完成一條乘累加(MAC)指令,所以其處理性能強(qiáng)悍,一般用于處理復(fù)雜的計(jì)算或算法。而Cortex-M0+內(nèi)核結(jié)構(gòu)簡單,只有2級流水線,能效高,一般用于實(shí)時(shí)控制、外設(shè)管理、數(shù)據(jù)通信等任務(wù)。

在LPC5411x產(chǎn)品中Cortex-M4F是主核,而Cortex-M0+是從核。從核的主要任務(wù)是協(xié)助主核處理非計(jì)算性的雜務(wù),充分解放主核的運(yùn)算能力,這樣可以達(dá)到整個(gè)系統(tǒng)的最優(yōu)性能。

為了實(shí)現(xiàn)整體性能最優(yōu),LPC5411x采用了多層AHB矩陣式總線架構(gòu),以及多個(gè)RAM分塊。下圖是LPC5411x的內(nèi)部功能框圖,可以看到內(nèi)部的AHB矩陣式總線架構(gòu),Cortex-M4F和M0+都是總線上的master,可以訪問所有的片上資源。總線訪問的優(yōu)先級可以通過寄存器設(shè)定。

Cortex-M4F核在AHB總線上有3個(gè)接口:I-code, D-code和System總線。而Cortex-M0+只有一個(gè)System總線接口。不同的RAM塊可以被不同的AHB master同時(shí)訪問。

雙核MCU的存儲區(qū)分配

I-code總線用于從CODE內(nèi)存分區(qū)取指令, 地址范圍是:0x0000-0000~0x1FFF-FFFF。D-code總線用于從CODE內(nèi)存分區(qū)取操作數(shù),地址范圍是:0x0000-0000~0x1FFF-FFFF。

當(dāng)以上兩條總線同時(shí)訪問同一內(nèi)存單元時(shí),D-code總線訪問優(yōu)先級比I-code高,所以D-code先訪問。對地址范圍從0x2000-0000~0xDFFF-FFFF的訪問是通過System總線進(jìn)行的,可用于訪問操作數(shù)、指令等,數(shù)據(jù)訪問的優(yōu)先級高于取指令及中斷向量。

各個(gè)存儲區(qū)所在的地址區(qū)域如下表:

存儲區(qū) 地址區(qū)域 大小
Flash 0x0000-0000 ~
0x0003-FFFF
256KB
Boot ROM 0x0300-0000 ~
0x0300-7FFF
32KB
SRAMX 0x0400-0000 ~
0x0400-7FFF
32KB
SRAM0 0x2000-0000 ~
0x2000-FFFF
64KB
SRAM1 0x2001-0000 ~
0x2001-FFFF
64KB
SRAM2 0x2002-0000 ~
0x2002-7FFF
32KB

為優(yōu)化系統(tǒng)整體處理能力,需要讓這兩個(gè)CPU內(nèi)核同時(shí)以最快速度執(zhí)行各自指令, 比如Cortex-M4F上能執(zhí)行單周期的的MAC指令,同時(shí)Cortex-M0+上能執(zhí)行單周期的32位乘法。

因此,存儲區(qū)的合理分配策略是,F(xiàn)lash和RAMX以及SRAM0需要分配給Cortex-M4F內(nèi)核,分別用于存放指令代碼和操作數(shù)(見上圖紅/黃框部分)。而SRAM1/SRAM2這兩塊需要分給Cortex-M0+(見上圖綠色框部分)。 需要注意的是,只要其中一個(gè)RAM塊分配給某個(gè)CPU核,這個(gè)RAM塊就不能分配給另一個(gè)CPU核, 否則這兩個(gè)CPU核同時(shí)訪問同一塊區(qū)域時(shí),就會出現(xiàn)總線爭用,而導(dǎo)致另一個(gè)CPU核訪問出現(xiàn)等待周期,從而降低整個(gè)系統(tǒng)處理效率。

雙核運(yùn)行的功耗如何?

在回答這個(gè)問題之前,讓我們看一下其實(shí)測的CoreMark動態(tài)功耗圖吧:

以代碼放在Flash中運(yùn)行并且主頻為48MHz為例,Cortex-M4F動態(tài)功耗大約為96uA/MHz,而Cortex-M0+為75uA/MHz。兩者之和為171uA/MHz,也就是說雙核同時(shí)運(yùn)行時(shí)的功耗為8.2mA。這個(gè)功耗比許多其他廠家的單Cortex-M4F核的MCU還低,但性能要強(qiáng)很多。

當(dāng)然如果你比較關(guān)心功耗,可以根據(jù)應(yīng)用實(shí)際情況讓一個(gè)CPU內(nèi)核進(jìn)入低功耗模式,另一個(gè)CPU內(nèi)核工作,等到一定條件時(shí)再喚醒另一個(gè)核。

雙核之間怎么通信?

下面這張圖說明了倆核之間的通信機(jī)制。

當(dāng)一個(gè)CPU內(nèi)核準(zhǔn)備好數(shù)據(jù)之后,通過互鎖信號放在共享RAM中,再通過郵箱機(jī)制產(chǎn)生中斷事件,通知另一個(gè)CPU內(nèi)核來處理。另一個(gè)CPU內(nèi)核處理完數(shù)據(jù)后,清理相應(yīng)的中斷標(biāo)志。通過這種方式可以實(shí)現(xiàn)實(shí)時(shí)性很強(qiáng)的雙核通信和數(shù)據(jù)交換。也可以不用互鎖信號和共享RAM,直接通過郵箱機(jī)制傳遞最多32位的數(shù)據(jù)。

另外一種簡單的方法叫作消息隊(duì)列機(jī)制:直接在共享RAM中創(chuàng)建循環(huán)緩沖器用于消息隊(duì)列。當(dāng)一個(gè)CPU內(nèi)核準(zhǔn)備好數(shù)據(jù)之后,就把數(shù)據(jù)發(fā)送到這個(gè)隊(duì)列最后面(隊(duì)尾),而另一CPU內(nèi)核每次從這個(gè)隊(duì)列的最前面取數(shù)據(jù)。對每個(gè)隊(duì)列的訪問是單向的,即一個(gè)CPU核只能寫,而另一個(gè)CPU內(nèi)核只能讀。要實(shí)現(xiàn)雙向,必須創(chuàng)建至少兩個(gè)隊(duì)列。 這種方法可以不用互鎖信號,但可以使用中斷機(jī)制通知另一個(gè)CPU核,以便實(shí)現(xiàn)實(shí)時(shí)通信和數(shù)據(jù)交換。

雙核的開發(fā)很難嗎?

針對雙核以及多核體系架構(gòu),恩智浦提供了多核SDK開發(fā)庫(稱為MCSDK), 以及豐富的例程,包含在相應(yīng)多核平臺的MCUXpresso SDK 開發(fā)包中。 下圖顯示了MCSDK的架構(gòu):

eRPC即嵌入式遠(yuǎn)程過程調(diào)用(Embedded Remote Procedure Call),是一套實(shí)現(xiàn)調(diào)用另一核上遠(yuǎn)程服務(wù)的透明函數(shù)調(diào)用接口。MCMGR即多核管理器(Multicore Manager),是包含所有CPU內(nèi)核信息及啟動從核的函數(shù)調(diào)用接口。RPMsg-Lite即遠(yuǎn)程處理器消息機(jī)制精簡版(Remote Processor Messaging – Lite),包含了所有處理器間通信的函數(shù)庫。

這套庫支持市面上所有主流ARM Cortex-M軟件開發(fā)工具,包括IAR、KEIL、GCC,以及MCUXpresso IDE。

有了這套多核SDK開發(fā)庫,用戶可以不用關(guān)心硬件底層的通信機(jī)制,直接使用相應(yīng)的例程和調(diào)用接口,幾分鐘內(nèi)便可以實(shí)現(xiàn)雙核間的通信和數(shù)據(jù)交換代碼。

下面這個(gè)例子說明如何使用RPMsg-Lite,從一個(gè)CPU內(nèi)核發(fā)送數(shù)據(jù)到另一內(nèi)核:

rpmsg_lite_send(my_rpmsg, my_ept, REMOTE_EPT_ADDR, (char *)&msg,sizeof(msg), …);

其中my_rpmsg是rpmsg_lite_remote_init()或rpmsg_lite_master_init()調(diào)用所創(chuàng)建的RPMsg實(shí)例;如果是主CPU內(nèi)核,就用rpmsg_lite_master_init()初始化, 否則就是遠(yuǎn)程CPU內(nèi)核,用rpmsg_lite_remote_init()初始化

my_ept是此消息管道的端點(diǎn),由rpmsg_lite_create_ept()調(diào)用創(chuàng)建的:

my_ept = rpmsg_lite_create_ept(my_rpmsg, LOCAL_EPT_ADDR, …);

msg是真正要交換的消息。

REMOTE_EPT_ADDR,LOCAL_EPT_ADDR分別是此消息管道的遠(yuǎn)程端點(diǎn)和本地端點(diǎn)的邏輯地址。

怎么調(diào)試雙核應(yīng)用程序?

在回答這個(gè)問題之前,先看一下硬件調(diào)試接口圖:

上圖說明,LPC5411x 系列支持對雙核同時(shí)調(diào)試 ,就像調(diào)試單個(gè)CPU內(nèi)核程序一樣簡單。

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

    關(guān)注

    146

    文章

    17316

    瀏覽量

    352248
  • 雙核
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    15228

原文標(biāo)題:如果你的設(shè)計(jì)正好需要雙核MCU,請看本文 !

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

    的控制/狀態(tài)通信。然后,對內(nèi)核互斥、初始化流程等一些重要的細(xì)節(jié)展開了論述。最后提出了任務(wù)分工的兩種應(yīng)用模型,并分別舉例。 背景與基本概念 在開發(fā)MCU應(yīng)用系統(tǒng)時(shí),如果單顆
    發(fā)表于 05-15 14:26

    基于MCU提高系統(tǒng)性能

    界面等。這類方案的存在諸多缺點(diǎn),首先兩顆 MCU 增加了 PCB 的面積,而且 MCU 之間的通訊的可靠性和數(shù)據(jù)吞吐率受到限制,另外,功耗將顯著增加,程序
    發(fā)表于 07-04 07:49

    如何采用非對稱MCU提高系統(tǒng)性能?

    本文系統(tǒng)地介紹了 C2000 Concerto 系列非對稱 MCU 的基礎(chǔ)知識和重要特點(diǎn)。
    發(fā)表于 04-02 06:02

    非對稱MCU的基礎(chǔ)知識與重要特點(diǎn)

    通信。然后,對內(nèi)核互斥、初始化流程等一些重要的細(xì)節(jié)展開了論述。最后提出了任務(wù)分工的兩種應(yīng)用模型,并分別舉例?! ”尘芭c基本概念在開發(fā)MCU應(yīng)用系統(tǒng)時(shí),如果單顆
    發(fā)表于 11-01 06:29

    MCU Pico的相關(guān)資料分享

    PIO架構(gòu),能否開創(chuàng)MCU市場全新領(lǐng)域,STM,兆易創(chuàng)新,STC,全志,樂鑫等一票國產(chǎn)MCU能否跟上?樹莓派發(fā)布基于M0的MCU近日,樹
    發(fā)表于 11-04 08:51

    DSP MCU,什么是SP MCU

    DSP MCU,什么是SP MCU 各種數(shù)字消費(fèi)產(chǎn)品特別是便攜式數(shù)字產(chǎn)品的功能已由單一
    發(fā)表于 03-26 15:00 ?1030次閱讀

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

    本文從對比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對稱
    發(fā)表于 03-26 15:31 ?3716次閱讀
    非對稱<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>基礎(chǔ)知識及<b class='flag-5'>核</b>間通信

    應(yīng)用非對稱MCU增強(qiáng)系統(tǒng)性能

    本文從對比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對稱
    發(fā)表于 04-11 10:05 ?1053次閱讀
    應(yīng)用非對稱<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>增強(qiáng)系統(tǒng)性能

    就是任性——LPC Xpresso54102開發(fā)板評測

    隨著科技的進(jìn)步,逐漸被淘汰已是時(shí)間上的問題,四乃至八核心CPU已不再是什么新奇的事物,不過在微控制器領(lǐng)域,
    發(fā)表于 08-25 11:44 ?11次下載

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

    本文從對比兩顆分立MCU與單芯片MCU開始(以LPC4350為例),展開介紹了非對稱
    的頭像 發(fā)表于 03-13 15:47 ?5230次閱讀
    非對稱<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>基礎(chǔ)知識及<b class='flag-5'>核</b>間通信

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

    通信。然后,對內(nèi)核互斥、初始化流程等一些重要的細(xì)節(jié)展開了論述。最后提出了任務(wù)分工的兩種應(yīng)用模型,并分別舉例。  背景與基本概念在開發(fā)MCU應(yīng)用系統(tǒng)時(shí),如果單顆
    發(fā)表于 10-26 09:21 ?11次下載
    非對稱<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>基礎(chǔ)知識及<b class='flag-5'>核</b>間通信

    樹莓派不講武德,自研MCU Pico,STM32哭暈在廁所!

    PIO架構(gòu),能否開創(chuàng)MCU市場全新領(lǐng)域,STM,兆易創(chuàng)新,STC,全志,樂鑫等一票國產(chǎn)MCU能否跟上?樹莓派發(fā)布基于M0的MCU近日,樹
    發(fā)表于 10-28 20:20 ?14次下載
    樹莓派不講武德,自研<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b> Pico,STM32哭暈在廁所!

    先楫HPM6000系列MCU怎么玩?

    多核的微控制器(MCU)向來是設(shè)計(jì)上的一大挑戰(zhàn),尤其是多核異構(gòu)的設(shè)計(jì)。而MCU作為其中的精簡版本,憑借其超強(qiáng)的處理性能和便捷開發(fā)的特性,
    的頭像 發(fā)表于 05-10 14:25 ?1703次閱讀
    先楫HPM6000系列<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>怎么玩?

    如何玩轉(zhuǎn)HPM6000系列MCU

    本文通過對先楫HPM6000系列的使用方法、工程編譯與調(diào)試、通信方式和資源分配等內(nèi)容的介紹,全方位給大家介紹
    發(fā)表于 05-10 14:25 ?882次閱讀
    如何玩轉(zhuǎn)HPM6000系列<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>?

    玩轉(zhuǎn)MCU(上) 先楫HPM6000系列怎么玩?答案超乎你想象!

    多核的微控制器(MCU)向來是設(shè)計(jì)上的一大挑戰(zhàn),尤其是多核異構(gòu)的設(shè)計(jì)。而MCU作為其中的精簡版本,憑借其超強(qiáng)的處理性能和便捷開發(fā)的特性,
    的頭像 發(fā)表于 05-12 10:08 ?3287次閱讀
    玩轉(zhuǎn)<b class='flag-5'>MCU</b><b class='flag-5'>雙</b><b class='flag-5'>核</b>(上) 先楫HPM6000系列<b class='flag-5'>雙</b><b class='flag-5'>核</b>怎么玩?答案超乎你想象!
    主站蜘蛛池模板: 国内精品伊人久久久久 | 午夜国产福利 | 久久久无码精品一区二区三区 | 三级全黄的视频在线观看 | 儿子操妈妈视频 | 蜜桃色欲AV久久无码精品 | 亚洲精品成人a在线观看 | 人人爽天天碰狠狠添 | 国产三级在线精品男人的天堂 | 久久视频这里只精品6国产 久久视频在线视频观品15 | 99久久综合国产精品免费 | 俄罗斯6一12呦女精品 | 国产强奷糟蹋漂亮邻居在线观看 | 国产Av影片麻豆精品传媒 | 99热久久精品国产一区二区 | 亚洲精品婷婷无码成人A片在线 | 99E久热只有精品8在线直播 | 国产偷抇久久精品A片蜜臀A | 亚洲在线v观看免费国 | 战狼4在线观看完免费完整版 | 国产亚洲精品AV片在线观看播放 | 涩涩免费视频软件 | 甜性涩爱bt下载 | 色拍拍噜噜噜久久蜜桃 | 999国产高清在线精品 | 麻豆蜜桃国语精品无码视频 | 闺蜜撬开我的腿用黄瓜折磨我 | 色噜噜狠狠色综合中文字幕 | 免费99精品国产自在现线 | 国产三级级在线电影 | 特级做A爰片毛片免费69 | 国产欧美日韩视频怡春院 | 亚洲视频在线观看地址 | 97欧美精品大香伊蕉在人线 | 日本A级作爱片金瓶双艳 | 99精品国产自在自线 | 依人在线观看 | 精品人妻一区二区三区视频53 | 天天躁日日躁狠狠躁中文字幕老牛 | 18女下面流水不遮网站免费 | 国产三级多多影院 |