色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > ARM Cortex-M7的內(nèi)存:太大還是不夠?

          ARM Cortex-M7的內(nèi)存:太大還是不夠?

          作者: 時(shí)間:2014-11-05 來源:EEFOCUS 收藏

            毫無疑問, - 擁有強(qiáng)大的內(nèi)存和處理能力 –以即使在幾年前都難以想象的方式擴(kuò)展了微控制器的功能。該處理器被定位成為物聯(lián)網(wǎng)(IOT)的核心構(gòu)建模塊的事實(shí),更是奪人眼目。

          本文引用地址:http://cafeforensic.com/article/264892.htm

            事實(shí)上,意法半導(dǎo)體的系列在9月的科技論壇上榮獲了最佳表現(xiàn)獎(jiǎng)。這是第一款采用內(nèi)核的32位MCU家族,擁有320KB SRAM和1024KB閃存。愛特梅爾采用內(nèi)核的處理器還沒有公布,預(yù)計(jì)將有384KB SRAM和2MB閃存,這種內(nèi)存規(guī)格高出典型的MCU 10倍以上。

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

            

          ?

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

            一個(gè)實(shí)時(shí)I / O處理的強(qiáng)者

            “這是一個(gè)實(shí)時(shí)I/ O處理的強(qiáng)者。事實(shí)上,像很多在8位單片機(jī)上編寫的小型嵌入式程序那樣不帶操作系統(tǒng)裸機(jī)運(yùn)行在目標(biāo)硬件上的循環(huán)程序,它們高效、簡單易懂且易于調(diào)試,可能很難使用這么多的性能配置和存儲(chǔ)器?!?/p>

            Liberty強(qiáng)調(diào),在物聯(lián)網(wǎng)的應(yīng)用場景中,為了更有效地管理復(fù)雜的網(wǎng)絡(luò)和多個(gè)外圍設(shè)備,采用一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS)變得非常關(guān)鍵。但是,過去幾年來,隨著開發(fā)社區(qū)努力尋找更佳的方案,RTOS的數(shù)量也在激增,現(xiàn)在,選擇“最好”的RTOS已經(jīng)成為開發(fā)人員的一大挑戰(zhàn)。

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

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

            “我敢肯定,如果明年我在一個(gè)項(xiàng)目上使用M7,我還是會(huì)使用C或C ++,因?yàn)樗鼈冇写蟛糠止ぞ吆蛶斓膹V泛支持,”他說。 “我希望這種情形保持下去嗎?不是的,因?yàn)槿绻@樣,我們將錯(cuò)失可以從Rust語言得到的靜態(tài)檢查內(nèi)存安全,從Python語言得到的易開發(fā)特性,和來自Erlang和Elixir的容錯(cuò)性和并發(fā)性?!?/p>

            內(nèi)存有點(diǎn)小

            其他人覺得,對(duì)物聯(lián)網(wǎng)而言,即使有旨在最大限度地利用M7內(nèi)存的功能特性,M7的內(nèi)存依然稍顯不足。一個(gè)例子是ST針對(duì)內(nèi)部嵌入式閃存和L1高速緩存的自適應(yīng)實(shí)時(shí)加速器,它可以從內(nèi)部和外部存儲(chǔ)器同時(shí)執(zhí)行指令和訪問數(shù)據(jù)。

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

            Anderson強(qiáng)調(diào),內(nèi)存使用率是很多這些物聯(lián)網(wǎng)新應(yīng)用的命脈?!皟?nèi)存是寶貴的。類庫內(nèi)部封裝的API會(huì)吃掉內(nèi)存,盡管它在通用計(jì)算機(jī)上表現(xiàn)良好。這些年,在計(jì)算機(jī)行業(yè),我們的代碼只有少數(shù)存在不知情內(nèi)存膨脹的案例。如果我們不認(rèn)真思考正在進(jìn)行的開發(fā)任務(wù),并繼續(xù)以我們?cè)诖笕萘績?nèi)存環(huán)境下已經(jīng)習(xí)慣的方式編寫代碼,我們就永遠(yuǎn)無法使用這些小內(nèi)存的微控制器進(jìn)行物聯(lián)網(wǎng)應(yīng)用開發(fā),并發(fā)掘出其令人驚艷的可能性。”



          關(guān)鍵詞: ARM Cortex-M7 STM32 F7

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉