STM32
直播中

1123127317

8年用户 1048经验值
擅长:制造/封装 接口/总线/驱动
私信 关注
[问答]

STM32G0如果只执行写保护编程时,先擦除选项字节,此时读保护字节是FF,那是不是就读保护生效了?

如果只执行写保护编程时,先擦除选项字节,此时读保护字节是FF,那是不是就读保护生效了?程序再修改为A5,会不会就引起FLASH整块擦除?不想修改写保护会引起FLASH擦除,是不是不行?

回帖(1)

红旧衫

2024-5-20 17:44:21
首先,我们需要了解STM32G0系列微控制器的选项字节(Option Bytes)和保护机制。选项字节是用于存储微控制器配置信息的非易失性存储器区域,包括读保护、写保护、用户设置等。在STM32G0系列中,选项字节分为两个部分:选项字节0(Option Byte 0)和选项字节1(Option Byte 1)。

根据您的问题,我们需要关注两个方面:读保护和写保护。读保护(Read Protection)用于防止未授权的用户读取微控制器的程序和数据。写保护(Write Protection)用于防止未授权的用户修改微控制器的程序和数据。

1. 当您只执行写保护编程时,首先需要擦除选项字节。在擦除过程中,所有选项字节的值都会被设置为0xFF。

2. 在擦除选项字节后,如果读保护字节(Option Byte 1)的值为0xFF,这意味着读保护尚未生效。要使读保护生效,您需要将读保护字节设置为特定的值(例如,0xA5)。

3. 如果您将读保护字节设置为0xA5,这不会引起FLASH整块擦除。FLASH整块擦除通常需要执行特定的擦除操作,而不是仅仅修改选项字节。

4. 要避免修改写保护引起FLASH擦除,您可以在编程选项字节时,仅修改写保护字节,而不涉及其他选项字节。这样,您可以实现写保护,而不会触发FLASH整块擦除。

总之,要实现只执行写保护编程,您需要先擦除选项字节,然后将读保护字节设置为特定的值(如0xA5),以使读保护生效。在此过程中,只要正确操作,不会引起FLASH整块擦除。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分