简述STM32F103的启动过程
时间: 2023-07-15 10:11:32 浏览: 154
简析STM32的启动过程
5星 · 资源好评率100%
STM32F103的启动过程主要包括以下几个步骤:
1. 复位向量表加载:当单片机复位时,首先会加载复位向量表,该向量表包含了一系列指向不同中断处理函数的指针,以及其他重要的系统启动信息。
2. 时钟初始化:在复位向量表加载完成后,系统会将内部时钟源切换到HSI(高速内部时钟),并对其他外设时钟进行初始化。
3. 系统时钟配置:根据用户设置的时钟分频系数,配置系统时钟。在STM32F103中,系统时钟可以从HSI、HSE(高速外部时钟)或PLL(锁相环)源中选择。
4. 设置堆栈指针:将堆栈指针设置为SRAM的顶端,以确保正确的栈操作。
5. 初始化全局变量:将未初始化的全局变量置为0,将初始化的全局变量赋初值。
6. 调用main函数:最后,系统会调用用户编写的main函数,进入应用程序执行阶段。
需要注意的是,在STM32F103中,由于Flash访问速度较慢,因此在系统启动的早期阶段,需要将必要的代码和数据加载到SRAM中执行。这可以通过在编译时设置代码和数据的存储区域来实现。
阅读全文