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

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

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

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

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

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

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

SMP 核心可在一個內核或同時在多個內核上運行(圖 1)。可選的核心命令行參數控制系統(tǒng)初始化之后 SMP 核心所使用的內核數量。核心運行時,各種命令行實用程序會控制分配給核心的內核數量。能夠動態(tài)地控制內核所使用的內核數量,這是 SMP 核心比 UP 核心更受 AMP 開發(fā)人員青睞的主要原因。

圖 1 — 對稱多處理。SMP 核心可在多個內核上同時運行。

遠程處理器 (remoteproc) 框架是一種 Linux 組件,負責啟動和停止各個內核(遠程處理器),以及在 AMP 系統(tǒng)中加載內核的軟件。例如,我們可以將圖 1 所示的 SMP 系統(tǒng)動態(tài)地重新配置為圖 2 所示的 AMP 系統(tǒng),然后再使用 remoteproc 的功能配置回 SMP。

我們可以通過用戶空間應用程序或系統(tǒng)初始化腳本完全控制重配置。重配置控制功能使用戶應用可以根據系統(tǒng)的動態(tài)需求停止、重新加載和運行多種 RTOS 應用程序。

圖 2 — 具有 Linux SMP 核心的 AMP


內核的軟件(本例中是指 RTOS 和用戶應用程序)從標準的可執(zhí)行和可鏈接格式 (ELF) 文件中加載,該文件包含一個資源表的特殊段。資源表類似于 PCI 配置空間,用來描述 RTOS 需要的資源。這些資源中包括 RTOS 代碼和數據所需的存儲器。

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

能夠動態(tài)地控制核心所使用的內核數量,這是 SMP 核心比 UP 核心更受 AMP 開發(fā)人員青睞的主要原因。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



新型 SoC 產品使設計人員能夠方便地將各種硬件設計從印刷電路板移植到片上系統(tǒng)。
內核不斷涌現
過去幾年中,針對嵌入式市場的多核 SoC 產品不斷增加,而且很適合用于 AMP 配置。

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉