STM32課程之ARM體系結構概述筆記

2021-10-04 11:13:39 字數 1807 閱讀 6485

cortex-m0處理器

stm32f051k8硬體平台介紹

問題一 :為什麼學習stm32要學習arm知識?

答:stm32的核心部件cpu是cortex-m系列處理器。

1)早期的經典處理器:arm7、arm9、arm11系列

2)cortex-m 系列:為微控制器驅動的系統提供低成本優化方案,應用於傳統的微控制市場、智慧型感測器、汽車周邊部件等

3)cortex-a 系列:針對開放式作業系統的高效能處理器,應用於智慧型手機、數碼電視、智慧型本等高階運用

4)cortex-r 系列:針對實時系統、滿足實時性的控制需求,應用於汽車制動、動力系統等

arm處理器架構主要從兩方面考慮:指令集和基於該體系結構下處理器的程式設計模型(基本資料型別、工作模型、暫存器組)。基於同種體系結構可以有多種處理器、每個處理器的效能不同,面向的應用領域也不同。

arm體系結構的發張

目前arm體系結構共定義了8個版本v1-v8

v1-v3最早的版本,目前已廢棄

v4-v6經典處理器中運用的比較多

v7 目前cortex系列處理器主要是這種架構、支援thumb-2 的32位指令集。

v8 相容armv7架構的特性,並支援64位資料處理。

soc指的是在單個晶元上整合乙個完整的計算機系統,所謂完整的系統一般包括**處理器cpu、儲存器、以及外圍電路等。

cortex-m系列產品主要包括cortex-m0、 cortex-m1、 cortex-m3、 cortex-m4、cortex-m7等,其中cortex-m0主打低功耗核混合訊號的處理,m3主要用來代替arm7,重點側重能耗和能的平衡,而m7則重點放在高效能控制預算領域。

cortex-m0微處理器主要包括處理器核心、巢狀向量中斷控制器nvic、呼叫子系統、內部匯流排系統。cortex-m0 微處理器通過精簡的高效能匯流排(ahb-lite)與外部進行通訊。

cortex-m有兩種工作模式和兩種工作狀態

cortex-m0 處理器核心有13個通用暫存器以及多個特殊暫存器。

cortex-m0 處理器最多支援32個外部中斷(通常稱為irq)和乙個不可遮蔽中斷nmi,另外cortex-m0 還支援許多系統異常(reset、hardfault、svcall、pendsv、syctick),他們主要用於作業系統和錯誤處理。

arm 處理器支援兩種指令集:arm 和 thumb。

epsr 暫存器的 t 標誌位負責指令集的切換,cortex-m0只支援thumb指令

stm32 卡到b 這裡 STM32的儲存器結構

看完這篇文章你會有什麼收穫?1.理解什麼是記憶體和io統一編址 2.知道stm32的4g記憶體是如何使用的 3.理解變數和記憶體的關係 4.理解對齊編址的必要性 下面進入正文 1.因為記憶體和io統一編址,所以你可以直接操控暫存器來讓io口工作,這是由硬體決定的。編址的工作由位址線來完成,stm32...

STM32系列ARM微控制器介紹

如果你正為專案的處理器而進行艱難的選擇 一方面抱怨16位微控制器有限的指令和效能,另一方面又抱怨 32位處理器 的高成本和高功耗,那麼,基於arm cortex m3 核心的stm32系列處理器也許能幫你解決這個問題。使你不必在效能 成本 功耗等因素之間做出取捨和折衷。即使你還沒有看完stm32的產...

ARM開發(2)基於STM32的蜂鳴器

基於stm32的蜂鳴器 一 蜂鳴器原理 1.1 本實驗實現1個蜂鳴器間隔1s鳴叫。1.3 開發環境 mdk5 庫函式版本開發 jlink 二 實驗步驟 2.1 beep.h ifndef beep h define beep h include sys.h define beep pbout 10 ...