www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Cortex-M0體系結(jié)構(gòu)包括:系統(tǒng)模型、存儲(chǔ)器映射、異常中斷。這篇文章主要講解Cortex-M0的系統(tǒng)模型。操作模式和狀態(tài)如上圖所示,Cortex-M0包括兩種操作模式和兩種狀態(tài)Thumb狀態(tài)(Thumb state)處理模式線程模式調(diào)試狀態(tài)

Cortex-M0體系結(jié)構(gòu)包括:系統(tǒng)模型、存儲(chǔ)器映射、異常中斷。這篇文章主要講解Cortex-M0的系統(tǒng)模型。


操作模式和狀態(tài)

如上圖所示,Cortex-M0包括兩種操作模式和兩種狀態(tài)

Thumb狀態(tài)(Thumb state)

處理模式

線程模式

調(diào)試狀態(tài)

  處理器啟動(dòng)后處于Thumb狀態(tài),在這種狀態(tài)下,處理器可以處于線程模式和處理模式,線程模式時(shí)執(zhí)行普通代碼,處理模式時(shí)執(zhí)行異常處理。線程模式和處理模式的系統(tǒng)模型幾乎一模一樣,唯一的不同在于線程模式通過配置CONTROL特殊寄存器,可以使用進(jìn)程指針。

  調(diào)試狀態(tài)僅用于調(diào)試操作,暫停處理器內(nèi)核后,執(zhí)行不會(huì)再執(zhí)行。在這種狀態(tài)下,調(diào)試器可以讀取甚至改變內(nèi)核寄存器的值。

  處理器上電后默認(rèn)處于Thumb狀態(tài)的線程模式,執(zhí)行普通代碼。


寄存器和特殊寄存器

  

  數(shù)據(jù)的解析和控制器的處理過程中,需要處理器內(nèi)核寄存器的參與。如果需要處理控制器中的數(shù)據(jù),這些數(shù)據(jù)需要先加載到處理器內(nèi)核的寄存器(寄存器組中的摸個(gè)),處理完成后,如果有需必要,它們還會(huì)被送到存儲(chǔ)器中,這種方式被稱為“加載-存儲(chǔ)架構(gòu)”(load-store architecture)。

  Cortex-M0有13個(gè)32位通用寄存器R0-R12,以及多個(gè)特殊寄存器。

  寄存器組包含16個(gè)32位寄存器,其中13個(gè)時(shí)通用的,其余三個(gè)具有特殊用途。


R0-R12 通用寄存器

  R0-R12為32位通用寄存器,由于16位thumb指令集在空間上的限制,許多Thumb指令只能操作R0-R7,它們被稱為低寄存器,而想MOV之類的一些指令則可以使用全部的寄存器。R0-R12寄存器的初始化值未定義。


R13,棧指針(SP)

  R13為棧指針,對(duì)??臻g進(jìn)行存取操作(通過PUSH和POP指令),Cortex-M0在不同的物理地址上有兩個(gè)棧指針,一個(gè)為主棧指針(MSP),也被稱為SP_main,一個(gè)指針稱為進(jìn)程棧指針(PSP),也為稱為SP_process,只能用在線程模式??梢酝ㄟ^CONTROL寄存器,選擇使用那個(gè)棧指針。

  在ARM處理器中,由于寄存器是32位的,所以PUSH和POP指令永遠(yuǎn)是32位操作,而且存取地址是32位字對(duì)齊(32位對(duì)齊)。在處理器上電過程中,中斷向量表的頭4字節(jié)會(huì)被去除(中斷向量表在0x000000000地址),然后填充到MSP,作為MSP的初始值,PSP的初始值為定義。

  一般使用操作系統(tǒng)是PSP進(jìn)程棧指針才會(huì)被使用,這是因?yàn)椴僮飨到y(tǒng)內(nèi)核的??臻g和線程級(jí)的應(yīng)用程序的??臻g是相互獨(dú)立的。


R14,鏈接寄存器(LR)

  R14為鏈接寄存器,用于存儲(chǔ)子程序或者函數(shù)調(diào)用的返回地址。子程序或者函數(shù)執(zhí)行完畢,存儲(chǔ)在LR中的返回地址將被裝在到程序計(jì)數(shù)器PC中,以便調(diào)用程序可以繼續(xù)執(zhí)行。當(dāng)發(fā)生異常中斷時(shí),LR會(huì)提供一個(gè)特定值,用于中斷返回機(jī)制。

  盡管Cortex-M0處理器的函數(shù)返回地址始終時(shí)偶數(shù)(最低位為0,因?yàn)樽钚〉闹噶疃际?6位的),LR的0位時(shí)可讀寫的。為了指明當(dāng)前處于thumb狀態(tài),一些指令需要函數(shù)地址最低位為1。


R15,程序計(jì)數(shù)器(PC)

  R15為程序計(jì)數(shù)器,為可讀寫。讀操作返回當(dāng)前正在執(zhí)行的指令加上4(這是由流水線的特性決定的),而寫入R15會(huì)導(dǎo)致程序跳轉(zhuǎn)執(zhí)行,這和函數(shù)調(diào)用不同,鏈接寄存器不會(huì)更新。

  Cortex-M0處理器指令是16位對(duì)齊的,所以PC寄存器的最低位必須始終為0.不過在使用跳轉(zhuǎn)指令BX或者BLX執(zhí)行跳轉(zhuǎn)執(zhí)行時(shí),PC的最低位應(yīng)該被置1,以表明目標(biāo)分支處于thumb程序區(qū)域。如果試圖切換到Cortex-M0未知的ARM狀態(tài),錯(cuò)誤異常中斷會(huì)被觸發(fā)。


xPSR,組合程序狀態(tài)寄存器

            xPSR寄存器

            xPSR寄存器

  組合程序狀態(tài)寄存器提供了程序執(zhí)行信息和ALU(算數(shù)邏輯單元)標(biāo)志,改寄存器由三個(gè)程序狀態(tài)寄存器(PSR)組成,如上圖:

應(yīng)用程序狀態(tài)寄存器(APSR)

中斷程序狀態(tài)寄存器(IPSR)

執(zhí)行程序狀態(tài)寄存器(EPSR)

應(yīng)用程序狀態(tài)寄存器

  APSR包含了ALU算數(shù)邏輯單元標(biāo)志,位于xPSR最高4位,一般用于控制程序跳轉(zhuǎn):

N表示負(fù)號(hào)標(biāo)志

Z表示零標(biāo)志

C表示進(jìn)位或借位標(biāo)志

V表示溢出標(biāo)志

中斷程序狀態(tài)寄存器

  IPSR包含了當(dāng)前正在執(zhí)行的中斷服務(wù)程序(ISR)編號(hào),Cortex-M0的每個(gè)異常中斷都會(huì)由一個(gè)特定的中斷編號(hào)(表示中斷類型)。這對(duì)調(diào)試時(shí)識(shí)別當(dāng)前的中斷非常有用,而且在多個(gè)中斷共用一個(gè)中斷處理的情況下,可以看出放生的時(shí)哪個(gè)中斷。

執(zhí)行程序狀態(tài)寄存器

  EPSR包含了T位,該位用來(lái)表示當(dāng)前是否處于Thumb狀態(tài)。由于Cortex-M0處理器只支持Thumb狀態(tài),所以T位一般為1.清除該位(置零)后,執(zhí)行嚇一跳置零會(huì)觸發(fā)硬件異常中斷。


PRIMASK,中斷屏蔽特殊寄存器

  PRIMASK僅有一位位寬,置位后,除了不可屏蔽中斷(NMI)和硬件錯(cuò)誤異常外的其他中斷都會(huì)被屏蔽。實(shí)際上,此時(shí)當(dāng)前中斷優(yōu)先級(jí)被置為0,也就是最高等級(jí)。

  要訪問PRIMASK寄存器,可以通過特殊寄存器操作置零(MSR和MRS),也可以使用“改變處理器狀態(tài)”置零(CPS)。在處理器對(duì)事件敏感的應(yīng)用時(shí),需要操作PRIMASK寄存器。


CONTROL,特殊寄存器

  前面已經(jīng)提到,Cortex-M0處理器具有兩個(gè)棧指針。處理器模式?jīng)Q定了使用的棧指針,而處理器模式以來(lái)與CONTROL寄存器的配置。

  復(fù)位以后,系統(tǒng)默認(rèn)使用主棧指針,在線程模式下,通過配置CONTROL寄存器的第一位置1,處理器可以切換至使用進(jìn)程棧指針(前提是當(dāng)前不是處在異常中斷處理中)。在處理異常中斷時(shí)(運(yùn)行在處理模式下),系統(tǒng)只能使用主棧指針,CONTROL寄存器讀出的值為0。要改變CONTROL寄存器的值,應(yīng)該在線程模式下進(jìn)行操作,或者借助異常中斷進(jìn)入和返回機(jī)制。

  為了兼容Cortex-M3,CONTROL寄存器的0位保留。在Cortex-M3中,第0位用于將處理器切換至用戶模式,這個(gè)特性在M0中沒有。


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

西門子數(shù)字化工業(yè)軟件與 IBM(紐約證券交易所股票代碼:IBM)日前宣布將進(jìn)一步擴(kuò)展合作伙伴關(guān)系,共同開發(fā)軟件解決方案組合,集成各自在系統(tǒng)工程、服務(wù)生命周期管理及資產(chǎn)管理等領(lǐng)域的優(yōu)勢(shì)。

關(guān)鍵字: 系統(tǒng)模型 仿真驅(qū)動(dòng)型系統(tǒng) 開放式生態(tài)系統(tǒng)

本文中,小編將對(duì)車聯(lián)網(wǎng)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 車聯(lián)網(wǎng) 智能交通 體系結(jié)構(gòu)

在下述的內(nèi)容中,小編將會(huì)對(duì)智慧物流的相關(guān)消息予以報(bào)道,如果智慧物流是您想要了解的焦點(diǎn)之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: 智慧物流 體系結(jié)構(gòu) 物流

在這篇文章中,小編將為大家?guī)?lái)智能機(jī)器人的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 智能機(jī)器人 機(jī)器人 體系結(jié)構(gòu)

摘 要 :針對(duì)目前工業(yè)大數(shù)據(jù)體系結(jié)構(gòu)不完善、尚未形成標(biāo)準(zhǔn)統(tǒng)一的理論架構(gòu)的問題,文中就如何將大數(shù)據(jù)技術(shù)與工業(yè)生產(chǎn)場(chǎng)景進(jìn)行整合,如何建設(shè)工業(yè)大數(shù)據(jù)系統(tǒng)等問題展開了討論。文中闡述了工業(yè)大數(shù)據(jù)的特點(diǎn)與基本體系結(jié)構(gòu),對(duì)相關(guān)技術(shù)處理...

關(guān)鍵字: 工業(yè)大數(shù)據(jù) 體系結(jié)構(gòu) 處理體系 計(jì)算引擎 理論架構(gòu) 計(jì)算分析

摘 要 :文中首先闡述了物聯(lián)網(wǎng)的起源、概念及其體系結(jié)構(gòu),接著對(duì)物聯(lián)網(wǎng)中的關(guān)鍵技術(shù)進(jìn)行了介紹,最后列舉了物聯(lián)網(wǎng)技術(shù)在日常生活中的應(yīng)用,讓大家對(duì)物聯(lián)網(wǎng)能有更深層次的理解與認(rèn)識(shí)。

關(guān)鍵字: 物聯(lián)網(wǎng) 體系結(jié)構(gòu) RFID 應(yīng)用

摘要:車聯(lián)網(wǎng)作為物聯(lián)網(wǎng)技術(shù)的重要應(yīng)用之一,具有十分廣闊的應(yīng)用前景。文章通辻介紹基于位置的車聯(lián)網(wǎng)通用應(yīng)用平臺(tái)概念,分析了車聯(lián)網(wǎng)通用應(yīng)用平臺(tái)的技術(shù)構(gòu)架,并列舉了該平臺(tái)在幾個(gè)重點(diǎn)領(lǐng)域的典型應(yīng)用,給出了該平臺(tái)所具有的通用性與相對(duì)...

關(guān)鍵字: 車聯(lián)網(wǎng) 物聯(lián)網(wǎng) 體系結(jié)構(gòu) 典型應(yīng)用

摘 要:隨著基于物聯(lián)網(wǎng)的智能家居系統(tǒng)的出現(xiàn),人們對(duì)物聯(lián)網(wǎng)的關(guān)注逐漸從概念發(fā)展到了技術(shù)應(yīng)用。文中從物聯(lián)網(wǎng)系統(tǒng)的三層體系結(jié)構(gòu)出發(fā),對(duì)智能家居系統(tǒng)加以分析,不僅理清了物聯(lián)網(wǎng)與智能家居系統(tǒng)的關(guān)系,而且明確了智能家居系統(tǒng)的體系結(jié)構(gòu)...

關(guān)鍵字: 物聯(lián)網(wǎng) 智能家居 體系結(jié)構(gòu) 技術(shù)路線

摘要:物聯(lián)網(wǎng)的三層體系結(jié)構(gòu)感知層、傳輸層和應(yīng)用層與安防系統(tǒng)的數(shù)據(jù)采集、傳輸、應(yīng)用三個(gè)主要部分有諸多相似之處,這種相似為公安院校安全技術(shù)防范課程教學(xué)實(shí)踐提供了一個(gè)嶄新的思路。文中對(duì)物聯(lián)網(wǎng)的基本概念、數(shù)據(jù)感知、數(shù)據(jù)傳輸以及數(shù)...

關(guān)鍵字: 物聯(lián)網(wǎng) 安全技術(shù)防范 教學(xué)實(shí)踐 體系結(jié)構(gòu)

摘要:物聯(lián)網(wǎng)應(yīng)用的多樣性、分散性和缺乏管理等問題制約著物聯(lián)網(wǎng)的發(fā)展。物聯(lián)網(wǎng)要連接和管理的對(duì)象是包括靜止和移動(dòng)的末端設(shè)備及各種資產(chǎn),這些設(shè)備連接上傳感器等感知設(shè)備成為網(wǎng)絡(luò)中的節(jié)點(diǎn)?;谖锫?lián)網(wǎng)這種網(wǎng)絡(luò)特點(diǎn),利用通用網(wǎng)管的思想...

關(guān)鍵字: 物聯(lián)網(wǎng) 體系結(jié)構(gòu) 網(wǎng)絡(luò)管理 綜合信息管理平臺(tái)
關(guān)閉