一.STM32F407的組成
STM32F407由一個Cortex-M4內核,片上flash,片上sram,以及片上外設(uart,I2C,SPI等)組成。
內核通過I,S,D三條數據總線,與總線矩陣相連,對片上flash,片上sram,以及片上外設等進行操作,內核通過I總線獲取指令,內核通過D總線進行立即數加載和調試訪問,內核通過S總線訪問SRAM中的數據,也可以通過該總線獲得指令(效率低於I總線)。其結構體示意圖如下:
並且從三個箭頭可以看出I總線可以向片內flash,SARM,FSMC取址,而且,STM32F407有三種自舉方式
也就是當BOOT1爲任意和BOOT0爲0時,程序從flash中0x0800 0000 開始自舉啓動,程序此時開始啓動。
下圖中左下角就是將程序下載在片內flash,起始地址爲0x0800 0000
此時當開啓電源,代碼就開始運行。