STM32系列单片机的启动流程

本文详细介绍了基于Cortex-M3内核的STM32单片机的启动流程,包括基本启动动作、启动模式(普通模式、ISP模式和RAM模式)以及中断向量配置。在不同启动模式下,STM32如何从Flash或RAM中获取栈顶指针和程序执行地址,并分析了烧写文件与启动模式的关系。同时,文章强调了正确配置中断向量偏移量寄存器的重要性。
摘要由CSDN通过智能技术生成

“请注意M3系列内核与早期的ARM9/ARM11的启动动作不同”

一、Cortex-M3的基本启动动作

STM32基于ARM的Cortex-M3内核设计,Cortex-M3在复位释放后,自动将0x00000000地址存储的4个字节的数据读入栈指针MSP作为栈顶指针,自动将0x00000004地址存储的4个字节的数据读入程序指针PC作为起始执行地址,中断向量偏移量寄存器此时为全0,即无偏移,指向0x00000000地址。

 

二、STM32的启动模式

STM32支持3种启动模式,由复位释放后的一段时间内锁存到的Boot[1:0]数据决定,Boot[1:0]=x0时,为普通模式(从片内Flash启动);Boot[1:0]=01时,为ISP模式(从系统存储器启动,载入ISP Bootloader);Boot[1:0]=11时,为RAM启动模式(从RAM启动)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值