您好,歡迎進入深圳市穎特新科技有限公司官方網站!
2006年ARM公司推出了基于ARMV7架構的cortex系列的標準體系結構,以滿足各種技術得不同性能要求,包含了A,R,M三個分工明確的系列
其中A系列面向復雜的尖端應用程序,用于運行開放式的復雜操作系統;R系列適合實時操作系統,M系列專門針對低成本的微控制領域。而我們今天要學習的STM32就是M3的處理器


STM32(M3)處理器的基本結構,基本結構如圖所示,主要包括處理器核cortex-m3 core,NVIC,BUS MATRIS,FLASH轉換,及斷點單元,DWT,ITM,MPU,ETM,TPIU,ROM Table
SW/SWJ-DP等模塊,其中MPU和ETM單元是可選單元。
這些單元可分為內外兩個層次,其中ETM,TPIU,ROM Table,SW/SWJ-DP單元屬于外層,因為這四個單元或可選或可靈活配置實現,也就是在處理器具體實現時TPIU,ROM Table
,SW/SWJ-DP可能與圖1-1可能不同,



cortex-m3核內部寄存器包括:13個通用32位寄存器,連接寄存器LR,程序計數器PC,程序狀態寄存器 xpsr和2個堆棧指針寄存器;



















Cortex-M3處理器支持兩種處理器的操作模式,還支持兩級特權操作。
兩種操作模式分別為:處理者模式和線程模式(thread mode)。
引入兩個模式的本意,是用于區別普通應用程序的代碼和異常服務例程的代碼——包括中斷服務例程的代碼。
兩級特權操作分別為:特權級和用戶級。
這可以提供一種存儲器訪問的保護機制,使得普通的用戶程序代碼不能意外地,甚至是惡意地執行涉及到要害的操作。
處理器支持兩種特權級,這也是一個基本的安全模型。
主應用程序(線程模式),既可以使用特權級,也可以使用用戶級;
異常服務例程(處理者模式)必須在特權級下執行。
通過引入特權級和用戶級,就能夠在硬件水平上限制某些不受信任的或者還沒有調試好的程序,
不讓它們隨便地配置涉及要害的寄存器,因而系統的可靠性得到了提高。













