STM32 內部結構

2021-07-26 06:42:24 字數 1247 閱讀 5926

為了進一步明確stm32103系列mcu的內部資源。我們可以從兩份資料著手學習。乙份是《stm32中文資料》,乙份是 《stm32f103中文資料》,您的英文水平如果還可以,那麼您就使用原版的英文資料。但是因為中文資料是廠家提供的。那我們基本可以放心使用了。

我們檢視《stm32中文資料》的第二節《儲存器和匯流排架構》,也就是資料的第25頁。《stm32中文資料》相當詳細,總共754頁。如果列印出來非常多。因為一般厚一點的書也就500頁左右。我們不必一次看完。因為有些功能您可能暫時用不著。比如您如果不做變頻,pwm也許就用不著。如果您做調壓控制usb也許永遠用不著。但是前面幾個章節還是有必要了解一下。一般來說半年熟悉乙個mcu應用已經很好了。

我們先來看看下圖,下圖**於《stm32中文資料》。我們只是初識一下。這是stm32的內部結

構。

cortex-m3是處理器核,其餘是外設。通過匯流排與外設通訊,形成系統。首先是icode是指令匯流排,falsh通過flash介面與  cortex-m3連線。完成指令的讀取。dcode匯流排通過匯流排矩陣與其他外設相連。也就是說任意裝置包括串列埠、adc、dma等資料可以直接通過dcode匯流排到達cortex-m3。在這裡我們可以發現 唯獨icode匯流排不經過匯流排矩陣。為什麼?我以為可能是指令都是儲存在flash中。而乙個系統中指令數量應該是最多的,所以為了提高效率icode匯流排不經過匯流排矩陣。sram是資料區。原子使用的是stm32f103rbt6,有20kram,128kflash。8bit的51是永遠達不到的。在我見過的51單片最大ram也就4k,flash64k.當要做乙個圖形驅動時常常捉襟見肘。 dma通道合計有12個。可以在座adc專案時使用dma。可以提高程式效率。因為不用再從adc暫存器中讀取值。system匯流排通過匯流排矩陣完成dma與外設通訊。ahb匯流排通過橋接1、與橋接2將低速裝置與匯流排矩陣連線起來。和明顯一部分外設是掛接在apb1和apb2上。通過rcc時鐘可以控制ahb匯流排上外設工作和不工作。這樣可以節省一部分功率。fsmc匯流排可以用來連線儲存裝置或者tft螢幕。

以上只是stm32的內部基本功能。下面我們看看上節stmf103的內部基本框圖

在apb1、apb2匯流排上掛接了所有的外設,定時器4個、串列埠3個、spi 2個、i2c  2個、gpio 5組、adc 2個、溫度感測器 1個。

資源如此豐富,讓我們一起來學習吧!

STM32的GPIO內部結構及相關暫存器

學完大二上學期51微控制器課程的寒假,在家我就開始搗鼓stm32了,記得那時候接觸stm32感覺它很難,20多天下來就學習了rcc時鐘體系和gpio控制模組,開學後又開始忙一些有的沒的,stm32的學習也擱置了,以至於後來跟學校當時在念博的老師交流時,我是這樣描述我的stm32開發水平的 我只會用g...

STM32的GPIO內部結構及相關暫存器

學完大二上學期51微控制器課程的寒假,在家我就開始搗鼓stm32了,記得那時候接觸stm32感覺它很難,20多天下來就學習了rcc時鐘體系和gpio控制模組,開學後又開始忙一些有的沒的,stm32的學習也擱置了,以至於後來跟學校當時在念博的老師交流時,我是這樣描述我的stm32開發水平的 我只會用g...

stm32 讀寫內部Flash

stm32的flash分為主儲存塊和資訊塊。主儲存塊用於儲存具體的程式 和使用者資料,資訊塊用於負責由stm32出廠是放置2kb的啟動程式 bootloader 和512b的使用者配置資訊區。主儲存塊是以頁為單位劃分的,一頁大小為1kb。範圍為從位址0x08000000開始的128kb內。對flas...