STM32F407上电启动流程研究

        开发stm32 M3/M4系列一般都是在IDE下开发,通常程序入口都是main函数,但是在执行main函数之前,mcu到底做了哪些工作,就是本文描述的内容。

        MCU上电启动第一件事情,就是确定CPU地址及堆栈地址,通过Boot引脚配置。stm32f407的FLASH地址0x0800 0000—0x080F FFFF,合计1兆字节空间,为主FLASH空间。一般固件都烧录地址从0x0800 0000处开始,也可以通过指定固件地址,从别的地址开始,这种用法多用于BootLoader启动方式。

启动流程

        硬件引脚配置为从主FLASH空间启动,上电启动瞬间,硬件自动从地址0x0800 0000处取出堆栈指针,这个指针地址=0x2000 0000 + RW Data Size + ZI Data Size,从地址0x0800 0004处取出PC指针,然后开始执行启动文件初始化程序,初始化执行完成以后跳转到main主函数执行。

关键内存分配图:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载STM32F407启动文件,首先需要访问STMicroelectronics的官方网站。在官方网站上,我们可以找到ST的支持页面,并在搜索栏中输入“STM32F407启动文件”来搜索相关的结果。 在搜索结果中,我们可以找到STM32F407启动文件(通常以.elf或.bin的格式提供)。我们应该确保下载的启动文件与我们使用的STM32F407微控制器型号完全匹配。 一旦找到适合的启动文件,可以单击下载按钮来获取文件。下载完成后,我们将得到一个压缩文件。我们需要解压缩该文件,以获得启动文件。 解压缩后,我们将得到一个.elf或.bin的文件。这些文件包含了启动代码和初始化设置,可用于将固件加载到STM32F407微控制器中。 接下来,我们需要使用编程工具(如ST-Link或J-Link)将启动文件烧录到STM32F407微控制器中。我们需要将开发板上的调试接口连接到编程工具上,并通过USB连接将编程工具与计算机连接起来。 然后,我们需要打开编程工具的软件,并选择正确的微控制器型号。然后,我们需要选择启动文件,并将其加载到编程工具中。 一旦加载完成,我们可以选择将启动文件烧录到微控制器上。这个过程可能需要一些时间,具体取决于编程工具的速度和连接质量。 烧录完成后,我们可以断开编程工具和计算机的连接,将开发板连接到适当的电源源,然后重新启动STM32F407微控制器。 现在,我们已经成功地下载并烧录了STM32F407启动文件。启动文件中的代码将在启动时执行,并为我们的应用程序提供必要的初始化设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值