国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

AMP為您的下個 SoC 項目助力

發(fā)布時間:2016-8-2 14:33    發(fā)布者:eechina
作者:Scott McNutt
高級軟件工程師         
DesignLinx Hardware Solutions 公司
smcnutt@designlinxhs.com

嵌入式系統(tǒng)一般分為兩大類:需要硬實時性能的;和不需要硬實時性能的。過去,我們不得不做出艱難抉擇,即選擇實時操作系統(tǒng)的性能還是我們鐘愛的 Linux 系統(tǒng)的豐富特性,然后努力彌補不足之處。

如今,嵌入式開發(fā)人員再也不需要在二者之間艱難選擇。非對稱多處理 (AMP) 兼?zhèn)涠叩膬?yōu)點。幾款新型片上系統(tǒng) (SoC) 產(chǎn)品集成了多個 CPU、多種標(biāo)準(zhǔn) I/O 外設(shè)和可編程邏輯。例如,賽靈思 Zynq-7000 All Programmable SoC 系列包含一個雙核 ARM Cortex-A9、標(biāo)準(zhǔn)外設(shè)(例如千兆位以太網(wǎng) MAC、USB、DMA、SD/MMC、SPI 和 CAN)以及龐大的可編程邏輯陣列。我們可將這些 SoC 產(chǎn)品作為 Linux/RTOS AMP 系統(tǒng)的基礎(chǔ),助其實現(xiàn)高度的靈活性。

典型的 AMP 配置在很多方面類似于基于 PCI 的系統(tǒng),即 Linux 域起到主機作用,RTOS 域起到適配器作用,并有一個或多個共享存儲器域用來實現(xiàn)兩個域之間的通信。不過與 PCI 不同,AMP 配置能更方便、動態(tài)地為一個或另一個域分配資源(標(biāo)準(zhǔn)外設(shè)和自定義邏輯)。此外,Linux/RTOS AMP 系統(tǒng)能根據(jù)運行時間要求——例如各種外部設(shè)備的有無——動態(tài)地重新配置可編程邏輯。

靈活程度通常會與建立 AMP 系統(tǒng)所涉及的復(fù)雜性和難度息息相關(guān)。不過請放心,Linux 開發(fā)社區(qū)已經(jīng)將很多功能引入到核心,能大大簡化 AMP 配置與使用。

LINUX 多處理簡介

就多處理而言,Linux 核心分為兩種:單處理器 (UP) 核心和對稱多處理器 (SMP) 核心。無論有多少個內(nèi)核,UP 核心只能在單個內(nèi)核上運行。AMP 系統(tǒng)可包含兩個或更多個單處理器內(nèi)核的實例。

SMP 核心可在一個內(nèi)核或同時在多個內(nèi)核上運行(圖 1)。可選的這些資源中包括 RTOS 代碼和數(shù)據(jù)所需的存儲器。





追蹤緩沖區(qū)


追蹤緩沖區(qū)是自動在 Linux 文件系統(tǒng)中作為文件出現(xiàn)的存儲器區(qū)域。顧名思義,追蹤緩沖區(qū)向遠程處理器提供基本追蹤功能。遠程處理器向緩沖區(qū)寫入追蹤、調(diào)試和狀態(tài)消息,以便通過 Linux 命令行或定制應(yīng)用進行檢查。

在資源表中輸入條目,以請求一個或多個追蹤緩沖區(qū)。盡管一般包含純文本,但追蹤緩沖區(qū)也會包含二進制數(shù)據(jù),例如應(yīng)用狀態(tài)信息或警報指示。

虛擬 I/O 設(shè)備


我們還可使用資源表定義虛擬輸入/輸出設(shè)備 (VDEV),這種設(shè)備主要是支持 Linux 核心與遠程處理器之間消息傳送的幾對共享存儲器隊列。VDEV 定義包括用來設(shè)定隊列大小的字段,以及用來在處理器之間發(fā)信號的中斷。

Linux 核心可處理虛擬 I/O 隊列的初始化。遠程處理器上運行的軟件只需要在其資源表中包含一個 VDEV 描述,然后在開始執(zhí)行時使用隊列;剩下的都由核心來處理。

遠程處理器消息框架


遠程處理器消息 (rpmsg) 框架是基于 Linux 核心的虛擬 I/O 系統(tǒng)的軟件消息總線。該消息總線類似于局部區(qū)域子網(wǎng)絡(luò),單個處理器可在其中通過共享存儲器創(chuàng)建可尋址端點和交換信息。

核心的 rpmsg 框架起到開關(guān)的作用,根據(jù)消息中包含的目的地址將消息傳送到相應(yīng)端點。由于消息報頭包含源地址,因此可在不同處理器之間建立專用連接。

命名服務(wù)

處理器可通過向 rpmsg 框架的命名服務(wù)發(fā)送消息,以動態(tài)宣布特定服務(wù)。命名服務(wù)功能本身用途不是很大。不過,rpmsg 框架允許將服務(wù)名稱關(guān)聯(lián)到設(shè)備驅(qū)動程序,以支持驅(qū)動程序的自動加載和初始化。

例如,如果遠程處理器宣布 dlinx-h323-v1.0 服務(wù),那么核心可以搜索、加載和初始化與該名稱關(guān)聯(lián)的驅(qū)動程序。如果系統(tǒng)中服務(wù)被動態(tài)安裝在遠程處理器上,那么這樣可大大簡化驅(qū)動程序管理。

管理中斷

中斷管理有些棘手,尤其在啟動和停止內(nèi)核時更是如此。最終,系統(tǒng)需要在遠程處理器啟動時動態(tài)地將特定中斷重定向至遠程處理器域,然后當(dāng)遠程處理器停止時收回中斷。此外,系統(tǒng)必須保護中斷,防止其被錯誤配置的驅(qū)動程序誤分配。簡言之,必須在系統(tǒng)層面管理中斷。

對于 Linux SMP 核心而言,這是一個常規(guī)事件,而且是 SMP 核心在 AMP 配置中更受青睞的另一個原因。遠程處理器框架能方便地管理中斷,只需來自設(shè)備驅(qū)動程序的最小支持。

設(shè)備驅(qū)動程序

設(shè)備驅(qū)動開發(fā)是個始終需要關(guān)注的問題,因為所需的技能組合可能無法立刻提供。幸運的是,Linux 核心的 remoteproc 和 rpmsg 框架完成大部分重活;驅(qū)動程序只需要實現(xiàn)幾個標(biāo)準(zhǔn)驅(qū)動程序例程。功能完整的驅(qū)動程序可能只需要幾百行代碼。核心源代碼樹包含嵌入式開發(fā)人員可根據(jù)自身要求進行調(diào)整的驅(qū)動程序范例。

廠商還提供通用的開源設(shè)備驅(qū)動程序。DesignLinx Hardware Solutions 提供針對 Linux 和 FreeRTOS 的通用 rpmsg 驅(qū)動程序。由于通用驅(qū)動程序沒有假定所交換消息的格式,因此嵌入式開發(fā)人員可將其用于多種 AMP 應(yīng)用,無需做任何修改。



引腳內(nèi)移動

核心的多處理支持并不局限于同構(gòu)多處理系統(tǒng)(使用同一類型處理器的系統(tǒng))。以上介紹的所有特性也可以用在異構(gòu)系統(tǒng)中(具有不同類型處理器的系統(tǒng))。當(dāng)“在引腳內(nèi)”移植已有設(shè)計時,這些多處理功能尤其有用。

新型 SoC 產(chǎn)品使設(shè)計人員能夠方便地將各種硬件設(shè)計從印刷電路板移植到片上系統(tǒng)(圖 3)。過去在 PCB 上作為分立處理器和組件的部分可以完全在 SoC 的引腳內(nèi)實現(xiàn)。



例如,我們可以使用賽靈思 Zynq-7000 系列 SoC 實現(xiàn)圖 3 中的初始 PCB 硬件架構(gòu),將其中一個 ARM 處理器作為可編程邏輯中的控制 CPU 和軟處理器(例如賽靈思 MicroBlaze™ 處理器),以替代分立處理器。我們可以使用剩余的 ARM 處理器運行 Linux SMP 核心(圖 4)。

將 Linux 添加到初始設(shè)計中能夠為 ARM 內(nèi)核和軟核處理器提供以上描述的所有標(biāo)準(zhǔn)多處理功能(例如啟動、停止、重載、追蹤緩沖區(qū)和遠程消息)。而且,還帶來豐富的 Linux 功能集,可支持多種網(wǎng)絡(luò)接口(以太網(wǎng)、Wi-Fi、藍牙)、網(wǎng)絡(luò)服務(wù)(Web 服務(wù)器、FTP、SSH、SNMP)、文件系統(tǒng)(DOS、NFS、cramfs、閃存存儲器)以及其他接口(PCIe、SPI、USB、MMC、視頻)等。這些特性能方便地實現(xiàn)新功能,無需對經(jīng)過檢驗的架構(gòu)做太大改動。

內(nèi)核不斷涌現(xiàn)


過去幾年中,針對嵌入式市場的多核 SoC 產(chǎn)品不斷增加,而且很適合用于 AMP 配置。

例如,賽靈思 UltraScale+™ MPSoC 架構(gòu)包含一個 64 位四核 ARM Cortex-A53、一個 32 位雙核 ARM Cortex-R5、一個圖形處理單元 (GPU) 以及多種其他外設(shè),當(dāng)然還包括有用的可編程邏輯。這為那些清楚如何駕馭實時操作系統(tǒng)的性能以及 Linux 核心的豐富特性集的設(shè)計人員提供了沃土。

如需了解如何設(shè)計 Linux/RTOS AMP 系統(tǒng)的更多詳情,敬請聯(lián)系DesignLinx Hardware Solutions。  賽靈思聯(lián)盟計劃的高級成員 DesignLinx 專門從事 FPGA 設(shè)計與支持業(yè)務(wù),包括系統(tǒng)設(shè)計、原理圖捕捉和電氣封裝/機械工程設(shè)計,以及信號完整性設(shè)計。

本文地址:http://m.qingdxww.cn/thread-171416-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中国hd高清xxxxvideo| 一级录像| 日本黄色片在线免费观看| 天天干夜夜骑| 亚洲精品一区二区三区四区手机版| 在线天堂中文| 毛片在线看片| 亚洲欧美日韩中文不卡| 日本aa在线| 最近日本韩国观看| 20岁αsrian男同志免费| 美女一级毛片免费不卡视频| 亚洲精彩视频在线观看| 青娱乐精品| 深夜在线小视频| 97人摸人人澡人人人超一碰| 嗯别插太快好深再深点| 四虎影视色费永久在线观看| 日本亚洲欧洲高清有码在线播放| 中日韩一线二线三线视频| 中文字幕 制服诱惑| 男人把女人桶到爽免费看视频| 一本一道久久综合狠狠老| 日韩高清成人毛片不卡| 无遮挡h黄漫动漫在线观看| 苍井空教师BD在线观看全集| 她也色在线视频站| 天天天天色| 亚洲福利网站| 曰本黄页| 女人高潮久久久叫人喷水| 日本成年一区久久综合| 色婷丁香| 亚洲码在线观看| 精品一区二区三区四区五区六区| 一级特黄视频| 在线视频久久只有精品第一日韩| 人人看人莫人人爱免费看| 亚洲影视天堂| 中文字幕成人免费高清在线| 欧美亚洲视频在线二区|