STM32F4 程式設計手冊學習1 程式設計模型

2022-07-12 13:45:24 字數 1158 閱讀 6470

處理器模式分為以下兩種:

特權等級有以下兩種:

處理器使用向下增長的棧,這意味著棧指標指向棧記憶體的最後乙個成員。當處理器將資料壓入棧時,首先將棧指標減小相應的位元組數,然後將資料寫入棧指標所指的記憶體位址。處理器使用了兩個的棧main stackprocess stack,他倆擁有棧指標的獨立拷貝。

處理器模式

用途特權等級

棧執行緒模式

執行應用

特權 或 非特權

main stack or process stack

處理模式

處理異常

總是特權

處理模式下,處理器總是使用msp的,因此處理器會忽略對暫存器bit[1]的寫入操作。

預設情況下,執行緒模式使用msp(main stack)。可以通過下面兩種方式將棧指標切換到psp。

當改變棧指標時,軟體必須在使用msr指令後,立即使用isb指令。這保證了isb指令之後的指令使用新的棧指標。

isr指令是指令同步屏障(instruction synchronization barrier),它重新整理了處理器的管道線,導致該指令之後的指令都要重新fetch。這條指令不會改變標誌位。
該標準定義了如下內容

cmsis包含了cortex-m4處理器核心外設的位址和資料結構定義

簡化了軟體開發過程

本文圖表引用自《pm0214: stm32f3, stm32f4 and stm32l4 series cortex®-m4 programming manual》

本文參考st官方文件《pm0214: stm32f3, stm32f4 and stm32l4 series cortex®-m4 programming manual》

STM32F4與STM32F1的區別

作為cortex m3市場的最大佔有者,st公司在2011年又推出基於cortex m4核心的stm32f4系列產品,相對與stm32f1 f2等cortex m3產品,stm32f4最大的優勢,就是新增了硬體fpu單元以及dsp指令,同時,stm32f4的主頻也提高了很多,達到168mhz 可獲得...

STM32F1與STM32F4間CAN通訊除錯

can通訊的除錯不單是軟體上的除錯,也需要對硬體進行檢查。在調通之前一直有兩個疑惑干擾判斷 結論在文末 1.不同的can晶元是否存在不相容。2.不同型號的stm32是否can通訊是否存在差異。stm32f1與stm32f4之間can通訊的除錯過程 僅以stm32f1作介紹 標準庫 1.確定引腳與資源...

stm32f4 定時捕獲

概述 1000hz 20 80 占空比現象 1000hz 51 58 占空比現象 關於本文的更多詳情請往下看。筆者針對於初學者提供的例程都是去掉了許多不必要的功能,精簡了官方的 對初學者一看就明白,以簡單明瞭的工程供大家學習。stm32f4 tim輸入波形捕獲 脈衝頻率 占空比 例項 訪問密碼 st...