I am building a peripheral device that will use an STM32 microcontroller. This peripheral device will communicate with a master/supervisory device over a CAN interface. We have tentatively chosen the STM32F091CC as the controller of the peripheral device. This MCU has a hardware CAN module integrated into it.
I have been reading through documentation on the various CAN protocols and looking through various datasheets and community forums regarding CAN implementation on STM32 microcontrollers.
I am now scared that we chose the wrong microcontroller, since I am having an extremely hard time finding CAN libraries that are written for STM32F0 series microcontrollers. There appears to be a fair amount of CAN library stuff out there for STM32F1 and STM32F2 series, however I don't see anything for STM32F0 series.
For example, there are CANopen stacks for sale for F1,F2, and F4 series microcontrollers that cost about $10,000 and up. The fact that these stacks don't seem to be available for the F0 series worries me.
In my case, I don't need to use a high-level protocol like CANopen, I just need to be able to communicate serially with the master/supervisory device. Incorporating other nodes onto the CAN network can be left to future product development/refinement.
I believe I only need some kind of hardware abstraction layer and limited CAN stack to coordinate communication over the CAN bus. The stack I envision would allow me to receive, transmit, and filter CAN messages.
Having never delved much into the world of microcontroller HAL programming, I am wondering if I should stop the presses and change our selected MCU to a STM32F1 or F2 series.
Does anyone know of an open-source CAN stack that I could use on the F0 series?