STM32的复位与复位流程

这篇具有很好参考价值的文章主要介绍了STM32的复位与复位流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于典型的Cortex-M微控制器,复位类型共有三种:

  • 上电复位。复位微控制器钟的所有部分,其中包括处理器、调试支持部件和外设等。
  • 系统复位。只会复位处理器和外设,不包括处理器的调试支持部件
  • 处理器复位。只复位处理器。

        在系统调试或处理器复位操作过程中,Cortex-M3或Cortex-M4处理器中的调试部件不会复位,这样可以保持调试主机(如运行在计算机上的调试器软件)和微控制器间的连接。调试主机可以通过系统控制块(SCB)中的寄存器产生系统复位或处理器复位。

注意:上面讲的复位类型只是一个宽泛的概念,在具体的微控制器平台上的实现和名称都不相同,具体仍需参考对应微控制器的参考手册。

        上电复位和系统复位的持续时间取决于实际的微控制器设计。有些情况下,由于复位控制器需要等待晶体振荡器等时钟源稳定下来,一次复位要持续若干毫秒。

        在复位后以及处理器开始执行程序前,Cortex-M处理器会从存储器中读出头两个字。向量表位于存储器的开头部分,它的头两个字分别是主栈指针(MSP)以及代表复位处理程序起始地址的复位向量。处理器读出这两个字后,就会将这些数值分别赋给MSP和程序计数器(PC)。

stm32 复位命令,stm32,单片机,嵌入式硬件
复位流程

         MSP的设置是非常必要的,这是因为在复位的很短时间内由产生NMI或HardFault的可能,在一场处理前将处理器状态压栈时需要栈存储和MSP。

 注意:对于多数C开发环境,C启动代码会在进入主程序main()前更新MSP的数值。通过复位和进入程序前的这两次对栈的设置,具有外部存储器的微控制器可以将外部存储器用作栈。例如,启动时栈可能位于片上SRAM,在复位处理中初始化外部存储器后执行C启动代码,此时会将栈设置为摆布存储器。

        由于Cortex-M3和Cortex-M4中的栈操作基于满递减的栈(SP在数据压栈前减小),SP的初始值应该被设置为栈区域顶部的第一个位置。例如,若存储器区域为0x20007C00~0x20007FFF(1KB),如下图所示,那么初始的栈指针就应该为0x20008000.

        对于Cortex-M处理器,向量表中向量地址的最低位应该为1,以表示它们为Thumb代码。正是由于这个原因,对于下图的例子,复位向量为0x101,而启动代码从0x100处开始。在取出复位向量后,Cortex-M处理器就可以从复位向量指向的地址处执行程序,并开始正常操作。

stm32 复位命令,stm32,单片机,嵌入式硬件
栈指针初始化和程序计数器初始化示例

        不同的软件开发工具在指定初始栈指针数值和复位向量时的方法可能会有差异,最好参考一下开发工具提供的工程示例。

 文章来源地址https://www.toymoban.com/news/detail-617985.html

到了这里,关于STM32的复位与复位流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机项目分享 stm32机器视觉的人脸识别系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月22日
    浏览(84)
  • stm32毕设分享 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(77)
  • 单片机项目分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(113)
  • 嵌入式STM32 单片机 GPIO 的工作原理详解

    STM32的 GPIO 介绍 GPIO 是通用输入/输出端口的简称,是 STM32 可控制的引脚。GPIO 的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 以 STM32F103ZET6 芯片为例子,该芯片共有 144 脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为

    2024年02月20日
    浏览(49)
  • stm32毕设分享 stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(59)
  • stm32毕设分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(61)
  • 【单片机毕设选题】 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(66)
  • 单片机项目分享 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(93)
  • 单片机项目分享 stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(82)
  • 【单片机毕设选题】Stm32单片机的音乐播放器设计 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包