On Sun 27 Apr 2014 12:50:34 PM CEST, Georgi Grinshpun wrote:
The names come from the official CMSIS library from ST. We have been
doing this for years without really thinking more about it. If you have
a suggestion how to improve the naming scheme, feel free to send it to
I've just noticed, that our definition of interrupt vectors for stm32
micro controllers is not easy to follow.
Do we get the names and definition of the interrupt vectors from the
data sheet or from some auto-generated xml structures?
Well, for the micro controllers that are currently supported on the
develop branch these definitions should be the same. Unfortunately, as
of now, there is not STM32F1 support available on the develop branch
since we didn't have hardware to test on when Niklas and I did the
refactoring last summer.
As you can see in the previous structure on current master branch
there are differences in definition of interrupt vectors in startup
code for several devices, where not all of them are represented in the
current structure on develop.
It seems to be called USB_HP_CAN1_TX_IRQHandler on STM32F1 devices,
because they use the same interrupt for CAN and USB. They are not
supported on the develop branch therefore this interrupt vector cannot
The pending problem:
There is the interrupt vector CAN1_TX_IRQHandler, which is called
USB_HP_CAN1_TX_IRQHandler on some devices (may be different inside
same families=targets like connectivity line devices?).
Noticed, unfortunately at runtime, while testing can driver on
STM32F3, which does not fit to interrupt vector names in startup code.
Maybe you have already thought of any automated solutions producing
errors at compile-time and ensuring correctness here?
Niklas and I did play around with some Ideas on how to make it easier to
use Interrupts, but eventually hit a dead end because some gcc
extensions do not work the way we would like them to work (see ). If
you have a good solution for this problem, feel free to come up with a
xpcc-dev mailing list