Jumping from to internal bootloader with Option Byte set to Read out protection (RDP Level 1) .
Board :- Custom board with STM32F105RCT6
Description :- I am trying to Jump to internal bootloader when Option Byte for Read Out Protection is set to 1 (RDP Level 1).
- When I am jumping to internal bootloader by Disabling the Read out protection I am able to Jump to SRAM and able to bootloader over UART and I can read the Device memory.

- When I am jumping to internal bootloader Enabling Read out protection then I am not able to Jump to SRAM and not able to bootloader over UART and it is asking for Disable the RDP and try again.

- After that again I am jumping to internal bootloader and Disabling the Read out protection by software (mention below) after that also I am not able to Jump to SRAM and not able to bootloader over UART and I cannot read the Device memory.
void __attribute__((section(".RamFunc"))) JumpToBootloader(void) {
FLASH_OBProgramInitTypeDef OptionsBytesStruct;
while(HAL_FLASH_Unlock() != HAL_OK);
while(HAL_FLASH_OB_Unlock() != HAL_OK);
HAL_RCC_DeInit();
__disable_irq();
OptionsBytesStruct.OptionType = OPTIONBYTE_RDP ;
OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_0;
while(HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK);
void (*SysMemBootJump)(void);
volatile uint32_t addr = 0x1FFFB000;
SysTick->CTRL = 0;
SysTick->LOAD = 0;
SysTick->VAL = 0;
SysMemBootJump = (void (*)(void)) (*((uint32_t *)(addr + 4)));
__set_MSP(*(uint32_t *)addr);
SysMemBootJump();
}

