STM32F10xxx 启动模式与内嵌自举程序详解

需积分: 50 206 下载量 55 浏览量 更新于2024-08-09 收藏 3.69MB PDF 举报
"这篇资料主要介绍了STM32F10xxx系列微控制器的启动配置,特别是启动模式的选择,以及内嵌的自举程序。STM32F10xxx是基于ARM Cortex-M3内核的高性能微控制器,适用于全栈性能测试和相关嵌入式系统开发。文中提及的启动模式包括用户闪存存储器、系统存储器和内嵌SRAM三种,这些模式可以通过BOOT1和BOOT0引脚的状态来选择。在系统复位后,CPU会从0x0000 0000地址开始执行代码。此外,内嵌的自举程序位于系统存储器中,用于通过USART1对闪存进行编程。" STM32F103是STM32家族的一员,是一款32位高性能微控制器,采用ARM Cortex-M3内核,具有丰富的外设接口和多种存储器配置选项。在STM32F103中,启动模式的选择至关重要,因为它决定了系统在上电或复位后从哪个内存区域开始执行代码。通过BOOT1和BOOT0引脚的电平状态,用户可以选择启动模式: 1. **用户闪存存储器启动**:当BOOT1为任意状态,而BOOT0为低电平时,用户程序将从用户闪存存储器启动,这是最常见的工作模式,程序通常在这里烧录。 2. **系统存储器启动**:当BOOT0为高电平,BOOT1为低电平时,系统将从系统存储器启动。系统存储器包含由ST在生产线上预写入的Bootloader程序,可用于固件更新。 3. **内嵌SRAM启动**:当两个BOOT引脚均为高电平时,CPU将从内嵌的SRAM启动,这通常用于快速启动或调试目的。 启动模式的选择在系统复位后立即生效,BOOT引脚的值会在SYSCLK的第4个上升沿被锁存。一旦选定启动模式,CPU会从相应的地址(如0x0000 0000)开始执行代码。尽管启动区域被映像到特定地址,但其他存储区域仍可按原地址访问。 STM32F10xxx系列的微控制器还配备了内嵌的自举程序,它位于系统存储器中,可以通过USART1串行接口实现对闪存的编程。这对于现场固件更新或者初始的烧录过程非常有用。在进行这些操作时,开发者应参照STM32F10xxx的闪存编程手册以确保正确安全地进行。 为了更深入地理解STM32F103的特性和功能,开发者可以查阅STM32F10xxx参考手册、数据手册以及Cortex-M3技术参考手册。这些文档提供了详细的寄存器描述、存储器和外设架构,帮助开发者进行系统设计和应用开发。此外,STM32F10xxx系列的不同型号可能有不同的存储器容量、封装和外设配置,因此在实际项目中,需根据具体需求选择合适的型号。