"A related issue is that you shouldn't put the main stack in CCM either. The core will fail to correctly save exception state to a stack in CCM"
I have not found that. I was developing with the main stack at the top of the CCM and everything ran fine. Ethernet, USB, comms, all under interrupts. 32F417.
"NVIC can't fetch vectors from CCM, so if you set up a vector table there (via the NVIC VTOR register) it won't work "
Thanks for that; noted and documented in my project. I am not going to test it though
I guess it isn't totally surprising.