烧程序到STM32后,STM32芯片内部发生了何种改变

当您将程序烧录到STM32芯片时,芯片内部会发生一系列的操作和改变。以下是主要的过程和变化:

擦除过程:首先,如果芯片中已经有之前的程序,需要先进行擦除操作。STM32芯片内部具有擦除电路,它会将存储区域的内容全部清除为初始状态,以便为新的程序提供干净的存储空间。

编程过程:接下来,通过编程接口(如JTAG、SWD或串行接口等),将编译好的二进制程序数据(通常是.hex或.bin文件)传输到STM32芯片中。这些数据会被写入到芯片内部的闪存(Flash Memory)中。STM32芯片内部有专门的编程电路,它会根据接收到的数据来逐字节或逐字写入到相应的存储位置。

验证过程:写入数据后,芯片会进行验证操作,确保写入的数据与原始数据一致。这是为了确保编程操作的正确性。

配置过程:STM32芯片内部还有一些配置位(Configuration Bits)或称为熔丝位(Fuse Bits),这些位可以在编程时设置,以改变芯片的行为或配置。例如,可以设置芯片的工作频率、启动源、引脚功能等。这些配置位在编程过程中会被设置,并在芯片复位后生效。

启动过程:当芯片完成编程和配置后,它可以被复位,并从新的程序开始执行。复位通常会导致芯片从特定的地址(如复位向量表)开始执行代码。

在整个过程中,STM32芯片的内部存储结构(Flash Memory、RAM等)会发生变化,存储了新的程序代码和配置数据。然而,STM32的处理器核心本身(如ARM Cortex-M系列)并没有发生物理改变;它只是在执行存储在Flash Memory中的新指令集。

需要注意的是,STM32的Flash Memory通常是只读的,一旦写入就不能直接修改,只能通过擦除整个区块然后重新编程的方式来更新数据。这种设计使得程序存储在芯片中更加稳定,不易受到外部干扰的影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值