|
接触读保护的代码如下: void Flash_DisableReadProtection(void) { FLASH_OBProgramInitTypeDef OBInit; HAL_FLASHEx_OBGetConfig(&OBInit); if(OBInit.RDPLevel == OB_RDP_LEVEL_1) { OBInit.OptionType = OPTIONBYTE_RDP; OBInit.RDPLevel = OB_RDP_LEVEL_0; // OBInit.WRPState = OB_WRPSTATE_DISABLE; HAL_FLASH_Unlock(); HAL_FLASH_OB_Unlock(); if(HAL_FLASHEx_OBProgram(&OBInit)!=HAL_OK) { HAL_FLASH_OB_Launch(); HAL_FLASH_OB_Lock(); HAL_FLASH_Lock(); return; } HAL_FLASH_OB_Launch(); HAL_FLASH_OB_Lock(); HAL_FLASH_Lock(); } return; }各位帮忙看看什么问题 |
STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运
使用stm32cubeide开发h743,准备采用spi flash的方式下载外部norflash
STM32H723FDCANT通信
stlinkv2给h7烧录程序一直报这个错,有解决方法吗?
选型,实现USB转2路CAN功能,目前看到STM32F407和STM32H750都有2路CAN,都能实现功能吗?
LPTIM5的事件Lptim5_ait作为14号Trigger input输入到DMAMUX2 Request generator触发BDMA未生成中断问题
STM32H743 HSE 48MHz晶振无法实现
STM32H743 配置USBOTG 使用U盘几周后 stm32无法识别usb
STM32H7A3RGT6 ADC 8位采样速度只能达到3.5MSPS达不到数据手册上的7MSPS ?
关于硬件ECC
微信公众号
手机版
RDP_LEVE1改到RDP_LEVE0会全片擦除,这个我也通过手册了解了。但是在通过这个代码后,用ST-link查看时,读保护没有解除,这可能是什么原因导致?
你通过用户代码来解除读保护 导致用户代码都完蛋了,解除的意义是什么呢?
毕竟读保护对用户自身代码是没有妨碍的。
你现在是好奇或纠结的是为何代码里做过解除操作后仍是读保护状态,这个不好说。
个人观点是或不是读保护状态 已经不重要了。可能是因为用户代码只运行一部分
就被干掉了。下面部分来自H7系列参考手册的文字供你参考。
When Level 1 is active, programming the protection option byte (RDP) to Level 0causes the Flash memory and the backup SRAM to be mass-erased. As a result the
user code area is cleared before the read protection is removed.