STM32F103R6之儲存器及啟動配置

2021-10-10 00:14:28 字數 1147 閱讀 3382

儲存器組織

嵌入式sram 位段

嵌入式快閃儲存器

啟動配置

內嵌的自舉程式

stm32f103的程式儲存器、資料儲存器、暫存器和輸入輸出埠被組織在同乙個4gb的線性位址空間內,資料以小端格式存放在儲存器中。

stm32f10***內建64k位元組的靜態sram。它可以以位元組、半字(16位)或全字(32位)訪問。sram的起始位址是0x2000 0000。

cortex™-m3儲存器映像包括兩個位段(bit-band)區。這兩個位段區將別名儲存器區中的每個字對映到位段儲存器區的乙個位,在別名儲存區寫入乙個字具有對位段區的目標位執行讀-改-寫操作的相同效果。

簡單的理解就是在4gb的線性位址中是有2段虛擬位址a段、b段,指向同一段實體地址。

下面的對映公式給出了別名區中的每個字是如何對應位帶區的相應位的:

bit_word_addr = bit_band_base + (byte_offset×32) + (bit_number×4) 其中:

舉個例子

如果要對sram位址為0x20000300的位元組中的位2進行操作,有兩種方式

1、 直接對sram位址為0x20000300的位元組中的位2進行操作

2、 對0x22006008 = 0x22000000 + (0x300×32) + (2×4)對位址的寫操作與對sram中位址0x20000300位元組的位2執行讀-改-寫操作有著相同的效果。

快閃儲存器儲存器由主儲存塊和資訊塊組成,資訊塊又包括系統儲存器和選擇位元組,系統儲存器中儲存著自舉程式。

快閃儲存器的指令和資料訪問是通過ahb匯流排完成的。預取模組是用於通過icode匯流排讀取指令的。仲裁是作用在快閃儲存器介面,並且dcode匯流排上的資料訪問優先。 讀訪問可以有以下配置選項:

預取緩衝區(2個64位):在每一次復位以後被自動開啟,由於每個緩衝區的大小(64位)與快閃儲存器的頻寬相同,因此只通過需一次讀快閃儲存器的操作即可更新整個緩衝區的內容。由於預取緩衝區的存在,cpu可以工作在更高的主頻。cpu每次取指最多為32位的字,取一條指令時,下一條指令已經在緩衝區中等待。

半週期:用於功耗優化。

在stm32f10***裡,可以通過boot[1:0]引腳選擇三種不同啟動模式。

圖 1啟動模式

內嵌的自舉程式存放在系統儲存區,由st公司在生產線上寫入,用於通過可用的序列介面對快閃儲存器儲存器進行重新程式設計。

STM32F103ZET6學習總結

1.任何外設在使用之前,必須先使能相應的時鐘。2.使用不同外設時,gpio引腳應該如何配置?1 gpio mode ain 模擬輸入 2 gpio mode in floating 浮空輸入 3 gpio mode ipd 下拉輸入 4 gpio mode ipu 上拉輸入 5 gpio mode ...

STM32F103VET6 字尾意義

stm32代表arm cortex m核心的32位微控制器.1.f 那一位指的是產品型別,現在似乎只有通用型即 f 2.103 那位指的是產品子系列,101 基本型,102 usb基本型 usb 2.0全速裝置,103 增強型,105或107 互聯型 stm32f103資源 一路can2.0b,最大...

stm32f103rbt6基本介紹

stm32f103rbt6 主頻最高可以達到72mhz。r 64腳 b 128k位元組的快閃儲存器儲存器 中容量產品 問題6 裡面gpioc odr 1 8 是什麼?回答6 這個操作實際上就是把gpioc裡的odr暫存器的第八位取反,其他位不變。是異或符號,如果大家不懂什麼是異或的話應該好好學學c語...