embedded_bootloader.c has a systematic error in a conditional used in multiple places, there are two guards and the error is only detected if the first guard is NOT an error.
for example, in ebh_rx_data_block_32,
if((rx_buf[0] == EBH_CORE_MSG_MESSAGE) && (rx_buf[1] != EBH_CORE_MSG_OPERATION_SUCCESSFUL))
if rx_buf[0] is not EBH_CORE_MSG_MESSAGE, the error condition is not detected.