从上电到启动,一文读懂STM32启动全流程

  • Boot1 Boot0

  • bootloader

  • 中断向量表

  • 启动流程

    很多同学会使用STM32进行应用/驱动开发,一般开发就是从main()函数开始,绝大多数人没有关注或并不关注类似STM32的MCU是怎么从上电运行到mian()函数的,今天我就针对这部分的内容进行了一个大整合,帮助大家理解这个过程。

1、直接上电?不,上电前还暗藏玄机

也许你会说可不就是直接给电就行吗?我啥也没配置,就轻松进入main()函数了。
其实,在上电前有两个引脚对MCU的启动有些关键的影响:BOOT0和BOOT1,这两个引脚的电平状态直接影响了芯片在复位上电后从芯片的哪个位置开始执行代码。

Boot1=x Boot0=0 从内置闪存flash开始启动,这是正常的启动模式。
通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2000000处;

STM32的内存flsh,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。

Boot1=0 Boot0=1 从系统存储器启动
通过boot引脚设置可以将中断向量表定位于内置Bootloader区
这是芯片一块特殊的区域,由ST出厂烧录预置的一段BootLoader,也就是我们常说的 ISP(In System Programing,在系统中编程 )程序;这是一块ROM,一旦出厂烧录即无法修改,只读&#

  • 9
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,属于Cortex-M3内核。下面是一份简要的说明,帮助你了解STM32F103。 1. 内核架构:STM32F103采用ARM Cortex-M3内核,具有较高的性能和低功耗特性。它运行在最高72MHz频率下。 2. 存储器:STM32F103具有不同的存储器选项,包括闪存(Flash)和随机存取存储器(SRAM)。闪存用于存储程序代码和常量数据,SRAM用于存储变量和堆栈。 3. 外设:STM32F103拥有丰富的外设,包括通用定时器、串行通信接口(USART、SPI、I2C)、模数转换器(ADC)、通用输入输出引脚(GPIO)等。这些外设可用于实现各种应用,如控制、通信和传感器接口。 4. 开发环境:对于STM32F103的开发,你可以使用ST提供的官方开发工具——STM32CubeIDE,它是基于Eclipse的集成开发环境。此外,你还可以使用其他第三方软件,如Keil MDK或IAR Embedded Workbench。 5. 编程语言:你可以使用C/C++编程语言进行STM32F103的开发。ST提供了丰富的库函数和示例代码,方便开发者快速上手。 6. 资源:为了更好地了解STM32F103,你可以参考ST官方的技术文档、数据手册和应用笔记。此外,CSDN等网站上也有很多关于STM32F103的教程和案例供你学习参考。 需要注意的是,上述信息只是对STM32F103的一个简要介绍,如果你希望深入了解它的特性和开发方法,建议你查阅更多资料并进行实际的开发练习。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值