Cortex M4核心與STM32的關係

2021-10-23 15:39:10 字數 1570 閱讀 2793

cortex-m4處理器的內部資源

stm32f4系列提供的cpu外部資源

匯流排矩陣:

匯流排矩陣

是stm32微控制器內最重要的硬體結構之一,通過匯流排矩陣靈活地將cortex-m4處理器的核心匯流排(i-code、d-code、system bus)與眾多系統級外設

(保證cpu正常執行)(如:片內sram、片內flash、資料dma匯流排)或速度要求極高的應用級外設

(為使用者的具體應用提供服務)(如:乙太網dma匯流排、usb dma匯流排等)相連線。

除此之外,匯流排矩陣還進一步提供了面向更外一層裝置的匯流排介面apb、ahb和fsmc,其與眾多應用級外設

相連,並為cortex-m4處理器提供了訪問mcu片內裝置

(如:dma外設匯流排、tim、adc、dac、usart、spi、usb等)和mcu片外高速裝置

(如:片外ram、flash)的途徑。

時鐘系統(時鐘樹):

是整個微控制器系統的心臟,為所有裝置(cpu、儲存器、匯流排、外設)提供時鐘脈衝。

嵌入sram:

f429系列提供了大小256kb的系統sram,以及4kb的備份sram。

以cpu速度執行,可按位元組、半字(16 位)或全字(32 位)訪問,相當於是st公司為cortex-m4核心配備的外部cache

,可通過i-code和d-code匯流排分別訪問!

還部分區域支援ahb匯流排上不同裝置的併發訪問。

嵌入flash:

f429系列提供了1mb大小的片內flash,用於儲存使用者程式**(code區)。

學習筆記2】—— 位址0x0000 0000的「flash/系統儲存器/sram別名區」

在stm32f429儲存器位址對映空間的位址0x0000 0000處的「flash/系統儲存器/sram別名區」是用來實現物理重對映的。這麼做的原因在於:

cortex-m4處理器復位時預設訪問(pc指向)的位址是0x0000 0000,而在stm32f4xx系列中st公司又將其內部flash設計在了0x0800 0000的位置,那麼在系統復位後,就必須通過物理重對映技術將位址0x0800 0000對映到位址0x0000 0000上。這樣cpu在訪問0x0000 0000時就等同於在訪問0x0800 0000上的flash(的內容),如此一來cpu才有指令可以執行,系統才能正常啟動。

若通過boot引腳設定自舉模式為sram自舉或系統儲存器自舉,也同理,實際上就是將sram或系統儲存器的首位址對映到了0x0000 0000的位置。

【學習筆記end】

STM32中cortex M3核心的學習

對於這個核心,它是哈佛結構,資料匯流排與指令匯流排分開。具有thumb2指令集。主要了解三個部分得功能,第一是暫存器組,第二是儲存器空間管理,第三是nvic中斷控制器。它的內部存在r0 r15暫存器,其中對於r0 r7可以由thumb指令集訪問,r8 r12由thumb2和arm指令集訪問。還有一些...

STM32F1 Cortex M3核心 儲存器對映

本文參考 cm3權威指南 第五章 儲存器系統 stm32 參考手冊 2.4 啟動配置 cortex m3核心規定的儲存器對映如下圖所示。就好像arm公司打造了乙個櫃子,從上到下有這幾個抽屜,它規定了每個抽屜放的東西的種類,具體放什麼放多少它不管 只要不超過抽屜的大小 由每個晶元廠商自己決定。圖1 c...

Mac下使用Boost通過程式與stm32通訊

mac系統下使用boost通過程式與stm32通訊 簡單來說 下面的 實際上是乙個例子,但是你不一定能跑通,因為 寫這篇部落格的重點是 boost庫很簡單,完全理解下面的幾行 你可以自己編寫整個工作 完成通訊所需步驟就三步 開啟串列埠 讀取串列埠返回的資料 向串列埠寫下固定資料 上 include ...