NB-IOT面向?qū)崙?zhàn)開發(fā)——基于stm32和Freertos
STM32的核心Cortex-M3處理器是一個標準化的微控制器結(jié)構(gòu),希望思考一下,何為標準化?簡言之,Cortex-M3處理器擁有32位CPU,并行總線結(jié)構(gòu),嵌套中斷向量控制單元,調(diào)試系統(tǒng)以及標準的存儲映射。
嵌套中斷向量控制器(Nested Vector Interrupt
Controller,簡稱NVIC)是Cortex-M3處理器中一個比較關(guān)鍵的組件,它為基于Cortex-M3的微控制器提供了標準的中斷架構(gòu)和優(yōu)秀的中斷響應(yīng)能力,為超過240個中斷源提供專門的中斷入口,而且可以賦予每個中斷源單獨的優(yōu)先級。利用NVIC從可以達到極快的中斷響應(yīng)速度,從收到中斷請求到執(zhí)行中斷服務(wù)的第一條指令僅需12個周期。這種極快的響應(yīng)速度一方面得益于Cortex-M3內(nèi)核對堆棧的自動處理機制,這種機制是通過固化在CPU內(nèi)部的微代碼實現(xiàn)的。另一方面,在中斷請求連續(xù)出現(xiàn)的情況下,NVIC使用一種稱為“尾鏈”的技術(shù),使連續(xù)而來的中斷可以在6個時鐘周期內(nèi)得到服務(wù)。在中斷的壓棧階段,更高優(yōu)先級的中斷可以不耗費任何額外的CPU周期就能完成嵌入低優(yōu)先級中斷的動作。具體的細節(jié)后面我會繼續(xù)總結(jié)的。用戶可以通過設(shè)置CPU自動進入低功耗狀態(tài),而使用中斷來將其喚醒,CPU在中斷時間來臨之前會一直保持睡眠狀態(tài)。這個后面我也會再總結(jié)。
?
標簽: