Hi, Tony,
I think the software reset is the only way you can use in your application code to reset the processor and run from bootloader ROM, in other words, you can call the NVIC_SystemReset() api function to software reset the chip. If you want to use bootloader, you have to set the other register and flash, for example, the BCA block, FOPT register, RCM_MR register.
For detailed inf, pls refer to section 13.3 Functional Description in the reference manual of KL43.
Hope it can help you
BR
XiangJun Rong