/* Program the Option Bytes. 
This performs all operations necessary to program the option bytes. The option bytes do not need to be erased first. */
void flash_program_option_bytes(uint32_t data)
/* Program the Option Bytes. 
This performs all operations necessary to program the option bytes. The option bytes do not need to be erased first. */
void flash_program_option_bytes(uint32_t data)
{
	flash_wait_for_last_operation();
	if (FLASH_OPTCR & FLASH_OPTCR_OPTLOCK) {
		flash_unlock_option_bytes();
	}
	FLASH_OPTCR = data & ~0x3;
	FLASH_OPTCR |= FLASH_OPTCR_OPTSTRT;
	flash_wait_for_last_operation();
}
/**@}