Pages 208 to 220 cover the NVIC.
I am going to bypass digging into this right now.
Currently the serial drive for Hydra just has a super simple non-interrupt routine to send characters. It spins until the transmitter is empty, then sends the character.
The word "nested" in NVIC makes me curious. What happens if both the USB and the serial port are using interrupts and one interrupts while an interrupt for the other is already being handled? Can we really handle nested interrupts if the device interrupting is higher priority?
The NVIC allocates an 8 bit priority field for each interrupt. So it would seem that 256 interrupt priority levels are available. This will be worth digging into someday to ensure that USB is high enough priority when things like timers and serial ports start generating interrupts.
Tom's Computer Info / tom@mmto.org