Another big ChibiOS update, this time to the first stable release in the
18.2.x series. This time a few pieces of API that the firmware and
library used were renamed, so there were some changes that had to be
made there. The build system is nicer now, as the included makefiles
add paths to the necessary variables so the main Makefile is much less
verbose in a few places.
Technically I updated to a development version somewhere between 17.6.3
and 17.6.4, but I don't doubt its stability.
This is a good update because I'd like users of the library to be
confident that it works with the latest version of ChibiOS.
Interestingly, none of the changes I made were in the library code, so
it did before, but now I know for sure.
I'm unclear as to whether I can now get rid of the INT_N thread in favor
of a pin interrupt. I'll have to see if I can, or if that will have to
wait for still more ChibiOS updates.
After much poking around, I finally figured out how to make this work!
The problem was that the ChibiOS initialization code had disabled
interrupts before the __early_init function was run, making the
bootloader not work despite my best intentions. This was fixed by
enabling interrupts just before jumping to the bootloader. This in turn
required changing to GNU-flavored C11 to include an inline assembly
instruction.