STM32學習 存儲器和總線構架
1.四個驅動單元:
本文引用地址:http://www.104case.com/article/201611/322627.htmCortex-M3內核,DCode總線和系統總線(S-Bus),通用DMA1和通用DMA2
2四個被動單元
內部SRAM,內部閃存存儲器,FSMC,AHB到APB的橋,它鏈接所有的APB設備。
程序存儲器,數據存儲器,寄存器和輸入輸出端口被組織在同一個4GB的線性地址空間內。數據字節以小端格式存放在存儲器中。
可訪問的存儲器空間被分成8個主要塊,每一個塊為512M。
STM32F10XX內置64K字節的靜態SRAM,它可以以字節,半字,或字訪問。
SRAM的起始地址是0x2000000
Cortex-M3存儲器映像包括兩個位段區。這兩個位段區將別外存儲區中的每個字映射到位段存儲器區的一個位,在別名存儲區寫入一個具有對位段區的目標位執行讀-改-寫操作的相同效果。
閃存的指令和數據訪問是通過AHB總線完成的。預取模塊是用于通過ICODE總線讀取指令的。仲裁是作用在閃存接口,并且DCODE總線上的數據訪問優先。
閃存編程一次可以寫入16位。
閃存擦除操作可以按頁面擦除或完全擦除。全擦除不影響信息塊。
啟動配置:
STM32F10XX里,可以通過BOOT[1:0]引腳選擇三種不同啟動模式。
在啟動延時之后,CPU從地址0x0000 0000獲取堆棧頂的地址,并從啟動存儲器的0x0000 0004指示的地址開始執行代碼。
因為固定的存儲器映像,代碼區始終從地址0x0000 0000開始,而數據區(SRAM)始終從地址0x2000 0000開始。
BOOT1一般接地。
根據選 定的啟動模式,主閃存存儲器,系統存儲器或SRAM可以按揭曉以下方式訪問:
1 從主閃存存儲器啟動:主閃存存儲器被映射到啟動空間(0x0000 0000),但能夠 在它原有的地址(0x0800 0000)訪問它,即閃存存儲器的內容可以在兩個地址區域訪問,0x0000 0000或0x0800 0000
2 從系統存儲器啟動:系統存儲器被映射到啟動空間,但能夠在它原有的地址(0x1fff f000)訪問。
3 從內置SRAM啟動:只能在0x2000 0000開始的地址區訪問SRAM.
STM32的工作電壓為2.0~3.6V
評論