Hi @Criticalpoint
BootLoader is a small program that runs before the operating system runs. Through this small program, you can initialize the hardware device, thereby bringing the system’s software and hardware environment to a proper state, so as to prepare for the final call to the operating system.
Firmware is generally stored in the electrically erasable read-only memory EEPROM or FLASH chip in the device and is generally a program that can be upgraded by the user through a specific refresh program. A bit similar to PC bios. For independently operable electronic products, firmware generally refers to its operating system.
Sometimes, there are maybe wrong when you upload code which will cause the bootloader to corrupted.
Because XIAO uses ARM® Cortex®-M0+ CPU, there are only two ways to debug the Interface of the ARM cortex, SW-DP or JTAG-DP.
I am not clear how to avoid issues with uploading.