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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] Cortex-M處理器系列包括廣泛使用的Cortex-M3處理器、針對(duì)FPGA的Cortex-M1處理器、2009年初推出的Cortex-M0處理器(最小的 ARM 處理器)和2010年初推出的 C o r tex-M4處理器(支持浮點(diǎn)和數(shù)字信號(hào)處理增強(qiáng)

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


架構(gòu)概述

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

寄存器

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

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

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

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

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

寄存器

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

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

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

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

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

堆棧內(nèi)存

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

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

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

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

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

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


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

多數(shù)受訪粉絲認(rèn)為,AI驅(qū)動(dòng)的功能會(huì)對(duì)他們觀看體育賽事的方式產(chǎn)生重大影響 超過(guò)半數(shù)的受訪者希望通過(guò)AI技術(shù)獲得對(duì)過(guò)去、現(xiàn)在和未來(lái)體育賽事的評(píng)論和分析 移動(dòng)體育應(yīng)用...

關(guān)鍵字: IBM AI 應(yīng)用程序 移動(dòng)

青島 2025年5月23日 /美通社/ -- 全球領(lǐng)先的消費(fèi)電子和家電品牌海信今天宣布將谷歌全新Home API集成至其ConnectLife應(yīng)用程序。今年秋季前,用戶(hù)可通過(guò)該應(yīng)用程序?qū)⒌谌街悄芗揖釉O(shè)備接入Conne...

關(guān)鍵字: API NEC 海信 應(yīng)用程序

-Arya.ai推出MCP應(yīng)用程序,將通用LLM轉(zhuǎn)化為特定領(lǐng)域?qū)<? 印度孟買(mǎi)和紐約 2025年5月13日 /美通社/ -- Arya.ai今天宣布推出APEX MCP(模...

關(guān)鍵字: MCP 應(yīng)用程序 AI 人工智能

北京2025年1月15日 /美通社/ -- 2025年1月8日,STIF第五屆國(guó)際科創(chuàng)節(jié)暨新質(zhì)生產(chǎn)力領(lǐng)航者峰會(huì)在北京舉行。作為科技創(chuàng)新與數(shù)字化服務(wù)領(lǐng)域最具影響力的年度盛會(huì)之一,本屆大會(huì)匯聚全球科創(chuàng)品牌,旨在通過(guò)構(gòu)建多元、...

關(guān)鍵字: 數(shù)字化 APP 互聯(lián)網(wǎng) 應(yīng)用程序

推動(dòng)技術(shù)創(chuàng)新與業(yè)務(wù)增長(zhǎng) 北京2024年12月19日 /美通社/ -- 在亞馬遜云科技2024 re:Invent全球大會(huì)上,亞馬遜云科技與東南亞領(lǐng)先的超級(jí)應(yīng)用程序Grab共同宣布,Grab已選擇亞馬遜云科技為首選云服務(wù)...

關(guān)鍵字: 亞馬遜 應(yīng)用程序 云服務(wù) AI技術(shù)

Amazon Aurora DSQL是一款性能卓越的分布式SQL數(shù)據(jù)庫(kù),具備99.999%的多區(qū)域可用性、幾乎無(wú)限的可擴(kuò)展性、強(qiáng)一致性,且完全消除了基礎(chǔ)設(shè)施管理的負(fù)擔(dān)。 北京2024年12月13日 /美通社/ -- 亞...

關(guān)鍵字: 亞馬遜 分布式 SQL數(shù)據(jù)庫(kù) 應(yīng)用程序

為數(shù)據(jù)、分析和AI提供統(tǒng)一平臺(tái) 北京2024年12月10日 /美通社/ -- 亞馬遜云科技在2024 re:Invent全球大會(huì)上,宣布推出新一代Amazon SageMaker,將客戶(hù)所需的快速SQL分析、PB級(jí)大數(shù)...

關(guān)鍵字: 亞馬遜 MAKER GE 應(yīng)用程序

隨著嵌入式系統(tǒng)的發(fā)展,從裸機(jī)應(yīng)用程序遷移到實(shí)時(shí)操作系統(tǒng)(RTOS)已成為提升系統(tǒng)性能、可靠性和可維護(hù)性的重要趨勢(shì)。RTOS為多任務(wù)處理、資源管理和實(shí)時(shí)響應(yīng)提供了強(qiáng)大的支持,使得開(kāi)發(fā)者能夠構(gòu)建更復(fù)雜、更高效的系統(tǒng)。本文將深...

關(guān)鍵字: RTOS 應(yīng)用程序

印度班加羅爾2024年9月10日 /美通社/ -- 隨著電動(dòng)汽車(chē)(EV)市場(chǎng)的發(fā)展,許多人仍然因?yàn)椤袄锍探箲]”(害怕在需要時(shí)找不到充電樁)而持觀望態(tài)度。盡管對(duì)可持續(xù)出行的需求不斷上升,但這已經(jīng)減緩了汽車(chē)制造商電動(dòng)汽車(chē)的銷(xiāo)...

關(guān)鍵字: 電動(dòng)汽車(chē) 充電樁 電網(wǎng) 應(yīng)用程序

波蘭最大銀行的移動(dòng)應(yīng)用程序擁有800萬(wàn)用戶(hù),現(xiàn)將數(shù)字個(gè)性化銀行服務(wù)擴(kuò)展至機(jī)動(dòng)車(chē)領(lǐng)域 波蘭華沙2024年9月5日 /美通社/ -- 全球領(lǐng)先的財(cái)富500強(qiáng)技術(shù)服務(wù)供應(yīng)商DXC Technology正與波蘭最大銀行PKO...

關(guān)鍵字: 應(yīng)用程序 TECHNOLOGY Android 移動(dòng)應(yīng)用
關(guān)閉