當前位置:首頁 > 單片機 > 單片機
[導讀]Cortex-M處理器系列包括廣泛使用的Cortex-M3處理器、針對FPGA的Cortex-M1處理器、2009年初推出的Cortex-M0處理器(最小的 ARM 處理器)和2010年初推出的 C o r tex-M4處理器(支持浮點和數(shù)字信號處理增強指令)。這些處理

Cortex-M處理器系列包括廣泛使用的Cortex-M3處理器、針對FPGA的Cortex-M1處理器、2009年初推出的Cortex-M0處理器(最小的 ARM 處理器)和2010年初推出的 C o r tex-M4處理器(支持浮點和數(shù)字信號處理增強指令)。這些處理器具有先進的功能特點和簡單易用的編程模型,對于想從8051微控制器遷移到ARM架構(gòu)的開發(fā)人員來說,極具吸引力。本文是一篇入門指南,目的是幫助8051微控制器的開發(fā)人員了解8051和A R M Cor tex-M處理器系列在架構(gòu)、軟件和硬件設計上的主要差異,從而加快遷移過程。

架構(gòu)概述

對于一些嵌入式程序員(尤其是那些習慣使用匯編語言編程的程序員),首先要做的事情就是了解編程模型。

寄存器

ARM Cortex-M處理器具有一個32位寄存器庫和一個xPSR(組合程序狀態(tài)寄存器)。而8051具有ACC(累加器)、B、DPTR(數(shù)據(jù)指針)、P SW(處理器狀態(tài)字)和四個各含八個寄存器的寄存器庫 (R0-R7)。

 

 

在8051中,一些指令會頻繁使用某些寄存器,如ACC和 DPTR。

這種相關(guān)性會極大降低系統(tǒng)的性能,而在ARM處理器中,指令可使用不同的寄存器來進行數(shù)據(jù)處理、內(nèi)存存取和用作內(nèi)存指針,因此不會有這個問題。

從根本上說,ARM 架構(gòu)是一個基于加載(Load)和存儲(STore)的RI S C架構(gòu),處理器寄存器加載數(shù)據(jù),然后將數(shù)據(jù)傳給A LU進行單周期執(zhí)行。而8051寄存器(ACC、B、PSW、SP和DPTR)可在SFR(特殊功能寄存器)的內(nèi)存空間中訪問。

為了確保普通的C函數(shù)能夠用作中斷處理程序,在需要處理中斷時,C o r t e x- M的寄存器(R 0 - R 3、R12、L R、P C和xPSR)會被自動壓入堆棧,而軟件僅需在必要時將其他寄存器壓入堆棧。雖然8051具有4個寄存器庫,但是ACC、B、D P T R和PSW寄存器并不會自動壓棧,因此通常需要通過中斷處理程序?qū)@些寄存器進行軟件壓棧。

寄存器

ARM處理器具有32位尋址,可實現(xiàn)一個4GB的線性內(nèi)存空間。該內(nèi)存空間在結(jié)構(gòu)上分成多個區(qū)。每個區(qū)都有各自的推薦用法(雖然并不是固定的)。統(tǒng)一內(nèi)存架構(gòu)不僅增加了內(nèi)存使用的靈活性,而且降低了不同內(nèi)存空間使用不同數(shù)據(jù)類型的復雜性。

相反地,8051微控制器具有多個內(nèi)存空間。內(nèi)存空間的分割使得有效地利用全部內(nèi)存空間變得困難,而且需要借助C語言擴展來處理不同的內(nèi)存類型。

8 0 51在外部R A M內(nèi)存空間上最高支持* K B的程序內(nèi)存和64K B的數(shù)據(jù)內(nèi)存。理論上,可以利用內(nèi)存分頁來擴展程序內(nèi)存大小。不過,內(nèi)存分頁解決方案并未標準化,換句話說,不同8051供應商的內(nèi)存分頁的實現(xiàn)并不相同。這不僅會增加軟件開發(fā)的復雜性,而且由于處理頁面切換所需的軟件開銷,還會顯著降低軟件性能。

在AR M C or tex-M3或M4上,S R A M區(qū)和外設區(qū)都提供了一個1MB的位段區(qū)(bit band regiON)。此位段區(qū)允許通過別名地址訪問其內(nèi)部的每個位。由于位段別名地址只需通過普通的內(nèi)存存取指令即可訪問,因此C語言完全可以支持,不需要任何特殊指令。而8051提供了少量的位尋址內(nèi)存(內(nèi)部R A M上16字節(jié)和S F R空間上16字節(jié))。處理這些位數(shù)據(jù)需要特殊指令,而要支持此功能,C編譯器中需要C語言擴展。

 

 

A R M C o r t ex-M處理器的內(nèi)存映射包含多個內(nèi)置外設塊。例如,ARM Cortex-M處理器的一個特性是具有一個嵌套矢量中斷控制器 (NVIC) 。此外,系統(tǒng)區(qū)中內(nèi)存映射有數(shù)個指定控制寄存器和調(diào)試組件,以確保優(yōu)異的中斷處理并極大方便開發(fā)人員使用。

堆棧內(nèi)存

堆棧內(nèi)存操作是內(nèi)存架構(gòu)的重要組成部分。在8051中,堆棧指針只有8位,同時堆棧位于內(nèi)部的內(nèi)存空間(上限為256個字節(jié),并由工作寄存器(四個各由R0至R7構(gòu)成的寄存器庫)和內(nèi)部數(shù)據(jù)變量共享)。堆棧操作基于空遞增模型。

 

 

與8051不同的是,A RM Cor tex-M處理器使用系統(tǒng)內(nèi)存作為堆棧,采用滿遞減模型。

 

 

滿遞減堆棧內(nèi)存模型更受C語言的支持。例如,微控制器中的SRAM的使用可組織為:

 

 

使用動態(tài)分配內(nèi)存空間的C庫和應用程序通常需要堆內(nèi)存。

盡管C o r tex-M處理器的每次壓棧需要32位的堆棧內(nèi)存,總的R A M使用仍然要比8051小。8051的變量通常是靜態(tài)地放在IDATA上,而ARM處理的局部變量是放在堆棧內(nèi)存上的,因此,只有當函數(shù)執(zhí)行的時候,局部變量才會占用RAM空間。

此外,ARM Cortex-M 處理器提供有第二個堆棧指針,以允許操作系統(tǒng)內(nèi)核和進程堆棧使用不同的堆棧內(nèi)存。這使得操作更可靠,也使操作系統(tǒng)設計更高效。(堆棧指針切換是自動處理的)8051中的很多外設是通過特殊功能寄存器 (S F R) 來控制的。由于S F R空間只有128個字節(jié),而且其中一些已經(jīng)為處理器寄存器和標準外設所占用,剩余的S F R地址空間通常非常有限,因此也就限制了可通過S F R控制的外設數(shù)量。雖然可以通過外部內(nèi)存空間來控制外設,但是與S F R存取相比,外部存取通常需要更多的開銷(需要將地址復制到DPTR,數(shù)據(jù)必須通過ACC傳輸)。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉