在應用處理器上開發實時任務系統

2021-07-30 20:43:11 字數 1248 閱讀 7923

應用處理器的應用範圍越來越廣泛。系統晶元都是採用 arm cortex-a 正在搶占部分原來由 arm cortex-m 和其他微處理器裝置統治的市場。這種趨勢由幾個因素造成:

● 通常和 iot 相關的強烈互聯需求,不僅從硬體上,也有軟體、協議以及安全相關方面

● 深度互動介面的要求,例如多點觸控、高解析度顯示以及豐富的圖形介面

● 隨著soc的量產以及新產品功能提高,soc 的**在下降

作為支援上面論述的典型案例是我們消費者每天都看到產品的重新設計,從微控制器公升級到微處理器。這種遷移伴隨著新的挑戰,例如設計變得越來越複雜,作業系統的抽象層也更加繁雜。使用應用處理器所帶來的複雜硬體設計的難題可以被公版參考設計以及使用現成的計算機模組/系統模組或者單板電腦所克服。在作業系統層面,嵌入式 linux 系統已經在行業中得到廣泛應用。大量的開源工具簡化功能豐富的複雜嵌入式系統開發。如果使用微控制器,類似的開發工作將變得複雜和耗時。儘管有著諸多的好處,使用類似 linux 作業系統仍舊產生了不少的質疑和缺乏信心,熱別是針對實時控制應用。

開發人員通常的做法是將實時任務和一般任務分攤到不同的處理器上。因此,類似與 cortex-a 的處理器主要用於多**和聯網功能,而微控制器則仍然被用作處理實時、關鍵性任務。本文旨在為開發人員提供一些建議,當他們需要使用應用處理器完成實時系統的時候。

測試實時效能

現在有許多 benchmark 工具可以用於評估軟體系統的實時效能,然而我們想要快速地測試下面提到的方法是否可以真的提高系統效能。為了看到結果,我們測量由嵌入系統的標準 gpio 產生的方波抖動。用這種方法,我們可以簡單、快速地分析實時效能,並提供初步的優化建議。我們開發了乙個以2.5khz(200µs high / 200µs low) 頻率翻轉 gpio的應用。用示波器連線 gpio,測試方波和輸出時序。

圖1:抖動測試

標準 linux 測試結果如圖2所示。翻轉 gpio 的應用配置為實時任務(sched_rr),核心配置了voluntary kernel preemption (config_preempt_voluntary)。

測試結果表面只有 92% 的波形在 ±10% 的誤差以內。最差的測量結果顯示延時超過 15ms,逾 3700% 的誤差。

更多詳細內容請參見:

基帶處理器和應用處理器的核間通訊

當前的手機架構使用著多種處理器間通訊方式,目前分離式ap cp流行的介面有spi i2c uart usb和雙埠互聯等,soc式則採用共享記憶體。控制命令以訊息的格式在基帶處理器和ap處理器間傳送,完成通話 短訊息 移動上網等功能,通訊協議包括傳統at命令 mbim等。一般來說,晶元都會支援多種介面...

應用處理器 微架構2013版

目錄 第1頁 什麼是應用處理器?第2頁 長話短說 微架構 流水線 第3頁 長話短說 微架構 超標量 第4頁 長話短說 微架構 分支 移 第5頁 長話短說 微架構 動態排程 第6頁 長話短說 微架構 執行緒級並行化 第7頁 長話短說 微架構 資料級並行 第8頁 長話短說 微架構 儲存系統分層 第9頁 ...

應用處理器與微控制器

文章採摘自 野火 i.mx rt庫開發實戰指南 基於i.mx rt1052開發板 應用處理器 如手機主控晶元,通常使用arm的cortex a系列核心。微控制器 常用的mcu,通常採用arm的cortex m系列核心。中斷響應 對於執行高階別作業系統 非實時作業系統 的通用應用處理器,服務外部中斷並...