[CortexM0-stm32f0308]reset介绍

    问题描述:reset是MCU系统启动的关键部分,IC开始执行程序就要从reset开始,是系统上电后的第一步。

    关于reset:在​cortex-m0的启动文件中,都会看到有reset_handler,处于vector table的第一个,cortex-m0的地址是0x0000 0004,cortex-m0一开始工作的PC值就是这个。reset_handler中一般会调用用户实现的SystemInit函数,该函数中将对系统需要的各个部件的Clock进行好设置,便于之后系统中正常工作。接着会调用库中的__main入口,这里应当会对C运行时库做些初始处理,堆栈进行设置。

    reset类型:stm32f0308的reset类型有三大类,Power reset, System reset和RTC domain reset。Power reset是和IC的供电相关的,上电以及从待机中唤醒会触发该reset,reset后开始系统初始化。System reset是由系统触发的,即此时供电是正常的,但是如有按下reset按钮,软件写对应register复位,以及Watch dog触发等,这种reset发生时,和Power reset唯一不同就是RCC_CSR寄存器中用来表示是何种reset源的相关bit不会复位,其余register都会复位为刚上电的状态了。而RTC domain reset的触发也是软件触发方式,通过写RCC_BDCR寄存器对应bit来触发,不过这类reset只会影响RTC以及LSE晶振等。

    ​reset作用:reset挺重要的,大概像平时用电脑会重启类似。系统运行死机了,卡死了,reset下,系统做了些更新了,需要从开始跑一遍,reset下……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技塑未来-苏导

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值