一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

在非對稱多核架構(gòu)中實現(xiàn)軟件組件

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Valter Minute ? 2022-06-14 09:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前我討論了非對稱多核以及如何在需要實時響應(yīng)時間和豐富的用戶界面和/或連接性的場景中使用它。我使用飛思卡爾的 Vybrid 作為此類架構(gòu)的示例,并討論了使這種解決方案比使用串行鏈路連接兩個獨立處理器的“傳統(tǒng)”方法更易于開發(fā)和更可靠的硬件特性。

在本文中,我將通過展示一個由 Toradex 和 AntMicro 開發(fā)的演示項目來展示可用于在這種架構(gòu)上實現(xiàn)解決方案的軟件組件。我們開發(fā)了一個提供觸摸屏用戶界面的 2D 繪圖儀。機(jī)械部分不是很復(fù)雜。它來自 Internet 上可用的工具包。我們進(jìn)行了一些改進(jìn)以提高繪圖質(zhì)量和機(jī)械可靠性。

控制繪圖硬件需要有限數(shù)量的數(shù)字 I/O。另一方面,我們需要精確的時間來獲得良好的繪圖質(zhì)量,并且需要處理大量的數(shù)據(jù)來繪制復(fù)雜的主題。

現(xiàn)在您已經(jīng)了解了最終結(jié)果,我們可以深入了解它并了解它是如何實現(xiàn)的。

該系統(tǒng)有兩個主要組成部分:一個基于觸摸屏的用戶界面,顯示不同的矢量圖形圖像并讓用戶選擇繪圖儀將轉(zhuǎn)移到紙上的一個,以及一個在繪圖過程中控制硬件的實時控制系統(tǒng)。每個組件都在專用內(nèi)核上運行。我們將 Cortex-A5 用于用戶界面,將 Cortex-M4 用于實時控制。

在 Cortex-A5 上,我們選擇運行 Linux 并使用 QT 框架來實現(xiàn)用戶模式應(yīng)用程序。Linux 是嵌入式設(shè)備的常見選擇,并以合理的占用空間提供了我們系統(tǒng)所需的所有功能。

Digia 維護(hù)的 Qt 框架也是嵌入式設(shè)備的流行選擇。它提供了豐富的功能集(不限于用戶界面)、用戶友好的集成開發(fā)環(huán)境(包括 UI 設(shè)計器)和雙重開源/商業(yè)許可。Qt 支持 SVG 矢量圖形格式,這使得選擇它作為顯示器上顯示的圖像格式變得很容易。相同的圖像被轉(zhuǎn)換為?? G 代碼(一種數(shù)字控制編程語言)。控制系統(tǒng)解析 G 代碼以執(zhí)行實際的繪圖操作。

在 Cortex-M4 上,我們需要同時執(zhí)行活動,從 UI 獲取命令和數(shù)據(jù),同時移動 X 和 Y 軸。這種控制可以在裸機(jī)固件中實現(xiàn),但實時操作系統(tǒng) (RTOS) 可以簡化開發(fā)。RTOS 管理不同任務(wù)的調(diào)度,而不會丟失實時響應(yīng)時間。它還允許從應(yīng)用程序代碼直接訪問硬件。

我們選擇 eCos(由 AntMicro 移植)作為 m4 內(nèi)核的 RTOS。它提供了一個調(diào)度器和一個硬件抽象層,使我們的應(yīng)用程序代碼變得簡單。這兩個組件需要通信,我們有三種不同的通信方式:

? 發(fā)送到控制系統(tǒng)的命令

? 關(guān)于繪圖儀當(dāng)前狀態(tài)的反饋

? 提供用于控制繪圖的 G 代碼

前兩種通信涉及少量數(shù)據(jù),需要快速傳遞。飛思卡爾提供了一個名為多核通信 (MCC) 的庫,可以很好地滿足這些要求。它提供了一個基于端點的接口,用于交換消息。在 Linux 上運行的每個應(yīng)用程序都可以創(chuàng)建自己的端點,也可以將消息發(fā)送到由 M4 核心管理的端點。從開發(fā)人員的角度來看,這種機(jī)制類似于套接字或管道,提供易于使用的通信鏈接。

AntMicro 將 MCC 移植到 eCos,在 M4 內(nèi)核上提供相同的功能。MCC 消息可用于發(fā)送小數(shù)據(jù)包,保持它們的順序。它們不適合一次發(fā)送復(fù)雜圖形的完整 G 代碼。為此,我們決定使用共享內(nèi)存,允許 M4 內(nèi)核訪問 Linux 應(yīng)用程序加載的 G 代碼數(shù)據(jù)。

架構(gòu)如下圖所示,突出顯示了在兩個內(nèi)核上運行的不同組件。

pYYBAGKn5nCAYDZHAAEyePInf7k702.png

Linux應(yīng)用程序?qū)4代碼加載到內(nèi)存并使用飛思卡爾提供的mqxboot命令行工具啟動(該工具是開源的,可以作為參考了解M4如何初始化,并在內(nèi)部直接實現(xiàn)該功能如果需要對過程進(jìn)行更嚴(yán)格的控制,則應(yīng)用程序代碼)。然后通過 MCC 交換“歡迎”消息,以確保兩個內(nèi)核都啟動并運行。當(dāng)用戶選擇一個繪圖并按下按鈕開始繪圖時,Linux 應(yīng)用程序執(zhí)行一系列操作:

? 發(fā)送“home”命令移動繪圖區(qū)域左上角的筆

? 將 G 代碼數(shù)據(jù)加載到與 M4 共享的內(nèi)存區(qū)域(這也可以使用 mqxboot 完成)

? 發(fā)送“start”命令開始繪圖過程

此時,M4 內(nèi)核獨立運行,處理 G 代碼數(shù)據(jù),移動軸,并發(fā)送回有關(guān)其進(jìn)度的通知。我們提供了一個按鈕,可以在一段時間內(nèi)以 100% 的速度加載 A5 內(nèi)核,以表明這不會影響另一個內(nèi)核的操作,因為它可以獨立操作并訪問完成繪圖所需的數(shù)據(jù)。

兩個應(yīng)用程序的源代碼都可以在github上找到,你可以看到代碼總量相當(dāng)合理(幾百行),并且通過MCC實現(xiàn)的管理通信通道的代碼非常簡單易讀。

審核編輯:郭婷

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

    關(guān)注

    87

    文章

    11511

    瀏覽量

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

    關(guān)注

    37

    文章

    7152

    瀏覽量

    125597
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    851

    瀏覽量

    121181
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    請問OpenVINO?工具套件是否支持使用非對稱卷積的支持模型?

    無法確定使用非對稱卷積的模型是否受 OpenVINO? Toolkit 的支持
    發(fā)表于 03-06 07:58

    分享!基于NXP i.MX 8M Plus平臺的OpenAMP核間通信方案

    嵌入式系統(tǒng)領(lǐng)域,隨著技術(shù)不斷發(fā)展,對于系統(tǒng)性能和功能要求日益提高。核間通信作為提升系統(tǒng)整體效能的關(guān)鍵技術(shù),成為了關(guān)注焦點。今天,我們和大家分享一個OpenAMP非對稱架構(gòu)核間通信方案,基于NXP
    的頭像 發(fā)表于 02-27 10:44 ?513次閱讀
    分享!基于NXP i.MX 8M Plus平臺的OpenAMP核間通信方案

    瑞芯微RK3568正式開放RISC-V核心啦,也支持非對稱AMP雙系統(tǒng)!

    嵌入式系統(tǒng)的發(fā)展進(jìn)程,多核異構(gòu)架構(gòu)的出現(xiàn)為滿足復(fù)雜應(yīng)用場景的需求提供了新的可能。其中,瑞芯微RK3568J國產(chǎn)平臺的非對稱AMP(Asy
    的頭像 發(fā)表于 02-27 10:36 ?606次閱讀
    瑞芯微RK3568正式開放RISC-V核心啦,也支持<b class='flag-5'>非對稱</b>AMP雙系統(tǒng)!

    “國產(chǎn)雙系統(tǒng)”出爐!復(fù)旦微FMQL20SM非對稱AMP:Linux + 裸機(jī)

    非對稱AMP”雙系統(tǒng)是什么 AMP(Asymmetric Multi-Processing),即非對稱多處理架構(gòu)。“非對稱AMP”雙系統(tǒng)是指多個核心相對獨立運行不同的操作系統(tǒng)或裸機(jī)應(yīng)
    的頭像 發(fā)表于 01-24 13:46 ?628次閱讀
    “國產(chǎn)雙系統(tǒng)”出爐!復(fù)旦微FMQL20SM<b class='flag-5'>非對稱</b>AMP:Linux + 裸機(jī)

    ARM + RISC-V核間通信方案,基于全志T113-i的OpenAMP非對稱架構(gòu)

    ),即非對稱多處理架構(gòu)?!?b class='flag-5'>非對稱AMP”雙系統(tǒng)是指多個核心相對獨立運行不同的操作系統(tǒng)或裸機(jī)應(yīng)用程序,如Linux + RTOS/裸機(jī),但需
    的頭像 發(fā)表于 01-24 09:30 ?491次閱讀
    ARM + RISC-V核間通信方案,基于全志T113-i的OpenAMP<b class='flag-5'>非對稱</b><b class='flag-5'>架構(gòu)</b>

    Littelfuse推出新型TPSMB非對稱TVS二極管

    Littelfuse公司,一家專注于工業(yè)技術(shù)制造的公司,致力于為可持續(xù)發(fā)展、互聯(lián)互通和更安全的世界提供動力。近日,該公司宣布推出其首款TPSMB非對稱瞬態(tài)電壓抑制(TVS)二極管系列,專為汽車應(yīng)用
    的頭像 發(fā)表于 01-02 14:24 ?630次閱讀

    “雙系統(tǒng)”出爐!瑞芯微RK3562J非對稱AMP:Linux+RTOS/裸機(jī)

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-11-25 08:44 編輯 “非對稱AMP”雙系統(tǒng) AMP(Asymmetric Multi-Processing),即非對稱多處理架構(gòu)
    發(fā)表于 11-21 16:44

    混合部署 | 迅為RK3568上同時部署RT-Thread和Linux系統(tǒng)

    非對稱多處理)是一種更靈活的架構(gòu),允許不同的核心運行不同的操作系統(tǒng),實現(xiàn)更高效的資源利用和任務(wù)分配。通過 AMP,系統(tǒng)可以為不同的任務(wù)選擇最合適的操作系統(tǒng)和處理方式。 當(dāng)前迅為iTOP-RK3568
    發(fā)表于 11-01 10:31

    對稱多處理器的特點是什么

    的主要特點是處理器之間的對稱性,這意味著每個處理器都可以執(zhí)行任何任務(wù),并且它們處理能力上是等價的。 1. SMP的定義和歷史 對稱多處理器系統(tǒng)是一種多處理器計算機(jī)硬件架構(gòu),其中多個處
    的頭像 發(fā)表于 10-10 16:36 ?968次閱讀

    對稱多處理器系統(tǒng)的進(jìn)程分配包括

    現(xiàn)代計算機(jī)系統(tǒng),對稱多處理器(SMP)架構(gòu)已經(jīng)成為主流。這種架構(gòu)允許多個處理器共享相同的內(nèi)存地址空間和系統(tǒng)資源,從而提高了系統(tǒng)的處理能力
    的頭像 發(fā)表于 10-10 16:34 ?661次閱讀

    對稱多處理器和非對稱多處理器的區(qū)別

    隨著計算需求的日益增長,單處理器系統(tǒng)已經(jīng)無法滿足高性能計算的需求。多處理器系統(tǒng)應(yīng)運而生,它們通過將多個處理器集成到一個系統(tǒng)來提高計算能力。多處理器系統(tǒng),有兩種主要的架構(gòu)
    的頭像 發(fā)表于 10-10 15:58 ?2197次閱讀

    混合部署 | 迅為RK3568上同時部署RT-Thread和Linux系統(tǒng)

    非對稱多處理)是一種更靈活的架構(gòu),允許不同的核心運行不同的操作系統(tǒng),實現(xiàn)更高效的資源利用和任務(wù)分配。通過 AMP,系統(tǒng)可以為不同的任務(wù)選擇最合適的操作系統(tǒng)和處理方式。 當(dāng)前迅為iTOP-RK3568開發(fā)板
    發(fā)表于 09-18 10:54

    請問高頻放大器用非對稱電源供電會有什么影響?

    高頻放大器用非對稱電源供電會有什么影響?
    發(fā)表于 08-29 06:22

    OPA828運放非對稱電源供電有什么好處嗎?

    看到一些精密儀器的電路運放好像特意設(shè)計成非對稱電源供電,比如+14v、-17v這種,請問運放非對稱電源供電有什么好處嗎?信號擺幅不超過正負(fù)7v
    發(fā)表于 08-01 06:48

    TL084能否采用-5V和+ 32V的非對稱雙電源供電呢?

    看手冊雙電源最高支持到+-20V,單電源是4.5V到40V。請問一下能否采用-5V和+ 32V的非對稱雙電源供電呢?
    發(fā)表于 07-29 06:50