ARM Cortex-M7突破MCU內存極限

信息 5049瀏覽 1評論

ARM Cortex-M7處理器毫無疑問,ARM?Cortex-M7?- 擁有強大的內存和處理能力 –以即使在幾年前都難以想象的方式擴展了微控制器的功能。該處理器被定位成為物聯網(IOT)的核心構建模塊的事實,更是奪人眼目。

事實上,意法半導體的STM32F7系列在9月的ARM科技論壇上榮獲了最佳表現獎。這是第一款采用ARM的Cortex-M7內核的32位MCU家族,擁有320KB SRAM和1024KB閃存。愛特梅爾采用Cortex-M7內核的處理器還沒有公布,預計將有384KB SRAM和2MB閃存,這種內存規格高出典型的MCU 10倍以上。

但是,Cortex-M7是否擁有“完成任務”所需的必要資源基本上還是要取決于開發者。本質上:今天的嵌入式開發人員,有時是在似乎幾乎不受約束的設計空間上,絞盡腦汁地在硬件、軟件和系統設計上做出如毛線團似的大量繁雜的決定和取舍。

“對于來自Windows,Linux,iOS,Web服務編程和商用邏輯編程領域的開發人員,Cortex-M7有太多限制和性能上的扼殺。但是,對于曾在8051等任何8位微處理器上,或Cortex-M0到M3上的開發者而言,他們眼中的Cortex-M7資源豐富、性能強大。” Matt Liberty說。他是Jetperch LLC的創始人,該公司提供DSP和嵌入式軟件咨詢服務。

一個實時 I/O 處理的強者

“這是一個實時I/ O處理的強者。事實上,像很多在8位單片機上編寫的小型嵌入式程序那樣不帶操作系統裸機運行在目標硬件上的循環程序,它們高效、簡單易懂且易于調試,可能很難使用這么多的性能配置和存儲器。”

Liberty強調,在物聯網的應用場景中,為了更有效地管理復雜的網絡和多個外圍設備,采用一個實時操作系統(RTOS)變得非常關鍵。但是,過去幾年來,隨著開發社區努力尋找更佳的方案,RTOS的數量也在激增,現在,選擇“最好”的RTOS已經成為開發人員的一大挑戰。

“快速瀏覽維基百科的“實時操作系統列表”就足以讓嵌入式軟件工程師頭大”,Liberty強調。 “雖然C和C ++仍然司空見慣,但在考慮多線程、安全性以及可靠性時,這兩種語言都顯得捉襟見肘。D和Rust語言具有填補這些空白的潛力,但它們今天都沒有做好用于嵌入式應用的準備。”

Frank Hunleth,一名專注于視頻處理和嵌入式Linux開發的嵌入式軟件開發人員,他也認為,實時操作系統行業需要證明在這些平臺上使用高級語言的可能性,并幫助定義它們的庫。

“我敢肯定,如果明年我在一個項目上使用M7,我還是會使用C或C ++,因為它們有大部分工具和庫的廣泛支持,”他說。 “我希望這種情形保持下去嗎?不是的,因為如果這樣,我們將錯失可以從Rust語言得到的靜態檢查內存安全,從Python語言得到的易開發特性,和來自Erlang和Elixir的容錯性和并發性。”

內存有點小

其他人覺得,對物聯網而言,即使有旨在最大限度地利用M7內存的功能特性,M7的內存依然稍顯不足。一個例子是ST針對內部嵌入式閃存和L1高速緩存的自適應實時加速器,它可以從內部和外部存儲器同時執行指令和訪問數據。

“對一個微控制器而言,這是一個很大的內存和存儲空間。但是,哪怕是最小的Java虛擬機[即解釋Java字節碼,使處理器執行程序指令的環境]至少也需要2MB才能運行起來,一時半會我們還不太可能會看到Java或任何其他基于虛擬機的平臺上運行在這些小的CPU內核上。” PTR集團的首席技術官和首席科學家Michael Anderson說。“如果你增加一個通信協議棧和一個可執行程序或諸如ARM的mbed、Micrium的μC/ OS-III或FreeRTOS之類的實時操作系統,你的程序空間會顯得非常小。”

Anderson強調,內存使用率是很多這些物聯網新應用的命脈。“內存是寶貴的。類庫內部封裝的API會吃掉內存,盡管它在通用計算機上表現良好。這些年,在計算機行業,我們的代碼只有少數存在不知情內存膨脹的案例。如果我們不認真思考正在進行的開發任務,并繼續以我們在大容量內存環境下已經習慣的方式編寫代碼,我們就永遠無法使用這些小內存的微控制器進行物聯網應用開發,并發掘出其令人驚艷的可能性。”

發表我的評論
取消評論

表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

網友最新評論 (1)

  1. 謝謝您阿,我非常高興
    璐璐 4年前 (2016-01-02) 回復 編輯
七星彩走势图2元网官网