Мы в штатное ПО встраивали "предзагрузчик" кода (в конкретном случае, по CAN) в RAM с последующей передачей ему управления. А вот загруженный код может действовать на своё усмотрение (в конкретном случае, перешить flash) в т.ч. переписать адреса прерываний.