Advertisement

分析汇编代码了解STM32启动流程

阅读量:

本文将对STM32的启动流程进行探讨。若读者具备一定的汇编语言基础,将有助于更好地理解后续内容。作为一种更为贴近硬件底层的编程语言,汇编相较于C语言能够提供更直接的硬件控制能力,从而加深对系统运行机制的理解。

STM32的三种启动方式

在程序下载完成后,当芯片重新启动时,SYSCLK信号的第四个上升沿会将BOOT引脚的状态进行锁存,这一过程即为系统启动过程。

无论STM32是上电还是复位后,其代码执行区域始终从地址0x00000000开始运行。实际上,这相当于将存储介质中的地址映射至该起始位置。

以下为三种常见的启动方式:

第一种方式是从主闪存存储器启动。在此模式下,主Flash地址0x08000000会被映射到起始地址0x00000000。这意味着程序执行时会从该位置开始运行。主闪存存储器是STM32内部集成的Flash存储单元,在常规工作状态下被使用。通常情况下,通过JTAG或SWD接口下载程序时,默认都会将其写入该存储区域,并在重启后从这里加载程序运行。

第二种方式是从系统存储器启动。通过设置BOOT1和BOOT0引脚的状态,在复位后系统会从地址为 1FFF FOOO 的系统存储器中读取并执行代码。系统存储器是芯片内部的一个固定区域,在出厂时已经预装了一段Bootloader程序(即ISP程序)。这一部分的内容在出厂之后无法被用户修改或擦除,属于

全部评论 (0)

还没有任何评论哟~