79241592

Date: 2024-12-01 13:01:50
Score: 0.5
Natty:
Report link

Fixed...

HAL_StatusTypeDef SwapBank(void)
{
    FLASH_OBProgramInitTypeDef OB;
    HAL_FLASHEx_OBGetConfig(&OB);

if (OB.USERConfig & OB_DUALBANK_DUAL)
{
    HAL_FLASH_Unlock();
    HAL_FLASH_OB_Unlock();
    if (OB.USERConfig & OB_BFB2_ENABLE)
    {
        OB.OptionType = OPTIONBYTE_USER;
        OB.USERType = OB_USER_BFB2;
        OB.USERConfig = OB_BFB2_DISABLE;
    }
    else
    {
        OB.OptionType = OPTIONBYTE_USER;
        OB.USERType = OB_USER_BFB2;
        OB.USERConfig = OB_BFB2_ENABLE;
    }
    if (HAL_FLASHEx_OBProgram(&OB) != HAL_OK)
    {
        HAL_FLASH_OB_Lock();
        HAL_FLASH_Lock();
        return HAL_ERROR;
    }
    
    HAL_FLASH_OB_Launch();
    HAL_FLASH_OB_Lock();
    HAL_FLASH_Lock();   
    NVIC_SystemReset();
    return HAL_OK;
    }
    return HAL_ERROR;
}
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Mehdi Sadeghi