F401 CubeIDE auto generated startup file vector table, missing some handlers?
I've been developing my own peripheral drivers as a learning exercise, and upon writing the USART drivers, I came to an interesting problem. The interrupts were not being handled at all! Instead of calling the ISR routine, I was getting UsageFault errors...
Upon closer inspection of the startup file (auto generated by CubeIDE), it didn't have any USART handler symbols at all. Just 0's and marked as reserved.
I attach a screenshot of part of the vector table section of the startup_stm32f401ccux.s file:
According to the RM for the F401xC chips (RM0368), for example, right after the SPI2 handler, should come the USART1 and USART2 handlers, not the "reserved" 0's...
I added these handlers myself to the vector table (at the appropriate places according to the vector table in section 10.2 of the RM) and now the driver code runs smoothly as it should, with the interrupts being handled properly...
Maybe it's a bug in the auto-generation of these files?
