CANOpenNode stack drivers for STM32F4xx with HAL library. The code has been tested on STM32F407VGT6 and works perfectly for SDO and NMT messages. I've used it to communicate with Motor Controller nanotec C5-E-09.
For more information and licensing, see https://github.com/CANopenNode/CANopenNode