看了一段時間的相關(guān)資料,將自已了解的知識寫出來,以求備忘。在此文中若有錯誤之處,請指出,將不勝感激。
STM32F103ZET6是Cortex-M3內(nèi)核的ARM類型的單片機,它屬于STM32的大密度器件,對于STM32的存儲架構(gòu)是差不多的
STM32的程序存儲區(qū),數(shù)據(jù)存儲區(qū),寄存器統(tǒng)一編制,最大為4G的空間。使用的是小端存儲模式。
整個4G的空間被分成8個mainblocks,每一塊是512MB,現(xiàn)在把對應的地址空間列出
0x00000000~0x20000000
根據(jù)啟動引腳的狀態(tài)決定哪個存儲空間被映射到此處。
片內(nèi)系統(tǒng)存儲區(qū)起始地址:
0x1fff0000(2K字節(jié)的空間)
引腳狀態(tài)存儲空間名地址X0MainFlashmemory0x8000000001Systemmemory0x1fff000011EmbeddedSRAM0x200000000x20000000~0x40000000
SRAM區(qū),64K
到0x20010000
位帶別名區(qū)首地址為:
0x22000000
0x40000000~0x60000000
用于片內(nèi)外設
外設寄存器的別名區(qū)首地址:
0x42000000
0x60000000~0x80000000
0x80000000~0xa0000000
片上flash存儲區(qū)512M
0xa0000000~0xc0000000
0xc0000000~0xe0000000
0xe0000000~0xffffffff
在系統(tǒng)存儲區(qū)有嵌入的bootloader,此bootloader在芯片出場時已經(jīng)了啟動代碼,也可以對系統(tǒng)存儲區(qū)進行編程。要對系統(tǒng)存儲區(qū)進行編程你需要使用UART1接口來下載啟動代碼。
備注:在這4G的可尋址區(qū)中有很多地址空間是預留的,使用的時候要注意