嵌入式MCU ARM Cortex-M3工作模式與異常
來源:宇芯有限公司 日期:2020-04-15 09:59:45
單片機(jī)MCU Cortex-M3是一個(gè)32位處理器內(nèi)核。內(nèi)部的數(shù)據(jù)路徑是32位的,寄存器是32位的,存儲(chǔ)器接口也是32位的。CM3采用了哈佛結(jié)構(gòu),擁有獨(dú)立的指令總線和數(shù)據(jù)總線,可以讓取指與數(shù)據(jù)訪問并行不悖。這樣一來數(shù)據(jù)訪問不再占用指令總線,從而提升了性能。下面宇芯電子介紹關(guān)于嵌入式
MCU ARM Cortex-M3工作模式與異常。
一、工作模式
線程模式和手柄模式。
當(dāng)處理器處在線程狀態(tài)下時(shí),既可以使用特權(quán)級,也可以使用用戶級;另一方面, handler模式總是特權(quán)級的。在復(fù)位后,處理器進(jìn)入線程模式+特權(quán)級。
二、向量表
因?yàn)榈刂?0 處應(yīng)該存儲(chǔ)引導(dǎo)代碼,所以它通常映射到 Flash或者是 ROM 器件,并且它們的值不得在運(yùn)行時(shí)改變。然而,為了支持動(dòng)態(tài)重分發(fā)中斷, CM3 允許向量表重定位——從其它地址處開始定位各異常向量。這些地址對應(yīng)的區(qū)域可以是代碼區(qū),但更多是在 RAM 區(qū)。在 RAM 區(qū)就可以修改向量的入口地址了。為了實(shí)現(xiàn)這個(gè)功能, NVIC中有一個(gè)寄存器,稱為“向量表偏移量寄存器”(在地址 0xE000_ED08處),通過修改它的值就能重定位向量表。
向量表偏移量寄存器(VTOR)(地址:0xE000_ED08)
三、異常和中斷
Cortex-M3 支持大量異常,包括 16-4-1=11個(gè)系統(tǒng)異常,和最多 240 個(gè)外部中斷——簡稱 IRQ。具體使用了這 240 個(gè)中斷源中的多少個(gè),則由芯片制造商決定。由外設(shè)產(chǎn)生的中斷信號,除了 SysTick的之外,全都連接到 NVIC 的中斷輸入信號線。典型情況下,處理器一般支持 16 到 32 個(gè)中斷。
類型編號為 1-15 的系統(tǒng)異常,從 16 開始是外部中斷類型。
關(guān)鍵詞:MCU
相關(guān)文章:
靈動(dòng)微MM32W073NTB防疫血氧儀應(yīng)用解決方案
宇芯有限公司自成立以來,我們專注于代理國內(nèi)外各大知名品牌的半導(dǎo)體元器件,代理品牌有NETSOL、JSC、everspin、來?xiàng)頛yontek、ISSI、CYPRESS等多個(gè)品牌總代理資質(zhì),主要產(chǎn)品線為sram、mram、psram等其他存儲(chǔ)器芯片,致力于為客戶提供具有競爭優(yōu)勢的產(chǎn)品,是一家專業(yè)提供存儲(chǔ)方案解決商。