一.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
此时当开启电源,代码就开始运行。
接下来,将说说启动代码,再是使用库函数点亮LED的分析
ref:https://www.cnblogs.com/firege/p/5748333.html
后续我还会继续分享stm32 的相关知识,相信你会学到更多知识,我会在[ stm32 ] 专栏 持续更新,来关注本专栏吧!
文章有帮助到你,点赞,收藏,关注我吧!