I have a project that I've joined recently that is based on SDK12.1. The bootloader does not seem to work when compiled with a currently arm-gcc version (9.2.1). It does work when compiled with 4.9.3. By "not work" I mean the bootloader gets stuck, will not DFU nor will it start the application.
Some background:
The project has a bootloader and an application component. The bootloader handles DFU chores (the application goes into DFU mode by NVIC_SystemReset() and the bootloader does the heavy lifting). I was attempting to build and flash from a mac rather than the crusty Linux VM I was given. I seem to be able to do "all the things" (flash, use the gdb/segger rtt to see console messages). I can build everything on the Mac but replace the bootloader hex file with one from the crusty Linux VM just before flashing, everything works.
So before I burn a bunch of time in debugging, has anybody else seen "weird" behaviour migrating from 4.9.x gcc to something more recent?
Thanks.