根据STM32H7 Reference Manual中的描述,STM32H725IGT6支持面向安全性的Bootloader。在启用了SFU模块的情况下,可以使用FLASH_OPTSR_PRG寄存器中的bit21 SECURITY来锁定安全选项字,防止擦除和编程操作。
如果在使能SFU_FINAL_SECURE_LOCK_ENABLE后,FLASH_OPTSR_PRG寄存器中的bit21 SECURITY无法置位,可能有以下几个可能的原因:
1. 读保护级别:确认是否将读保护级别配置为使能安全选项字的编程和擦除。读保护级别配置可以在FLASH_OPTSR2、FLASH_OPTSR3和FLASH_OPTSR4寄存器中进行设置。确保读保护级别的配置正确。
2. 权限控制:检查是否已正确配置Flash用于写入寄存器和位的权限。确保将安全选项字的写入权限配置为正确。
3. 寄存器限制:确认是否已使用正确的写入方法来更改FLASH_OPTSR_PRG寄存器中的特定位。要更改FLASH_OPTSR_PRG寄存器中的位,必须使用HAL_FLASHEx_OBProgram函数。
综上所述,请确认以上可能的原因并进行相应的检查和调整。如果问题仍然存在,请查阅STM32H7 Reference Manual中关于SFU的更多信息,了解更多可能的限制或要求。
根据STM32H7 Reference Manual中的描述,STM32H725IGT6支持面向安全性的Bootloader。在启用了SFU模块的情况下,可以使用FLASH_OPTSR_PRG寄存器中的bit21 SECURITY来锁定安全选项字,防止擦除和编程操作。
如果在使能SFU_FINAL_SECURE_LOCK_ENABLE后,FLASH_OPTSR_PRG寄存器中的bit21 SECURITY无法置位,可能有以下几个可能的原因:
1. 读保护级别:确认是否将读保护级别配置为使能安全选项字的编程和擦除。读保护级别配置可以在FLASH_OPTSR2、FLASH_OPTSR3和FLASH_OPTSR4寄存器中进行设置。确保读保护级别的配置正确。
2. 权限控制:检查是否已正确配置Flash用于写入寄存器和位的权限。确保将安全选项字的写入权限配置为正确。
3. 寄存器限制:确认是否已使用正确的写入方法来更改FLASH_OPTSR_PRG寄存器中的特定位。要更改FLASH_OPTSR_PRG寄存器中的位,必须使用HAL_FLASHEx_OBProgram函数。
综上所述,请确认以上可能的原因并进行相应的检查和调整。如果问题仍然存在,请查阅STM32H7 Reference Manual中关于SFU的更多信息,了解更多可能的限制或要求。
举报