【发布时间】:2020-07-15 21:50:23
【问题描述】:
我想启用正常的读出保护,目前我在 ST Link Utility 中执行此操作,但更好的是在代码中。我发现了一些旧的 sn-ps,它们适用于旧的 Std Lib,而不是 HAL:
if (FLASH_OB_GetRDP() != SET) {
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_1);
// Start the Option Bytes programming process
if (FLASH_OB_Launch() != FLASH_COMPLETE) {
// User can add here some code to deal with this error
}
FLASH_OB_Lock();
}
是否有人拥有适用于 HAL Lib 的正确代码?
谢谢!
【问题讨论】:
-
您应该查看 ST 自己的固件示例。有一个application note 列出了所有示例。在此 PDF 中,我看到了 STM32F103 的示例(与您的 STM32F107 非常相似),“FLASH_Write Protection”(第 7/31 页)。该示例很可能是用 C 编写的,将其从 NUCLEO-F103RB 移植到您的目标应该不是很大的努力。
-
但这是写而不是读出。
-
你可能是对的 - 我没有检查代码示例。通常,这些示例旨在作为适应的起点。也许你可以修改一些细节来达到你所需要的?
标签: c stm32 stm32cubeide