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