问题描述
我无法更改Flash中选项字节中的boot1地址
我想更改boot1地址,允许我在不使用跳转的情况下以引导加载程序模式(系统内存)或用户代码模式(闪存)启动。
我目前正在stm32h743评估板上进行测试
HAL_FLASH_OB_Unlock();
HAL_FLASH_Unlock();
/* Change Boot0 address */
if(mode)OBInit.BootAddr1 = BOOTLOADER_ADDR0;
else OBInit.BootAddr1 = USER_CODE_ADDR0;
HAL_FLASHEx_OBProgram(&OBInit);
if (HAL_FLASH_OB_Launch() != HAL_OK)
{
return(-1);//error
}
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
谢谢
Gabriel
解决方法
已修复:
添加
OBInit.BootConfig=OB_BOOT_ADD1;
之前
if(mode)OBInit.BootAddr1 = BOOTLOADER_ADDR0;