Switch ARMv7 Cortex-A processor to ARM mode right before jumping to target

Anatol Pomozov anatol.pomozov at gmail.com
Tue Apr 7 01:38:22 CEST 2026


Hello folks

I’m facing an instruction set mismatch issue on ARMv7. The system uses
a proprietary U-Boot–based bootloader (based on v2022.07) that runs in
ARM mode and then jumps directly to my application. The application
itself (Zephyr-based) is built in Thumb mode by default, which leads
to problems when execution is handed off.

Unfortunately, I cannot modify or rebuild the U-Boot binaries, as they
are closed-source in this case. The only control I have is through the
U-Boot environment (uboot_env).

Given these constraints, is there any way - via U-Boot environment
configuration - to switch the processor into Thumb mode right before
jumping to the application?

If not, are there any recommended workarounds for handling this ARM
<=> Thumb transition when the bootloader itself cannot be modified?

Thanks in advance for your help!


More information about the U-Boot mailing list