Step 1: Establish the functional scope
CANopen offers many different ways to implement an ECU. In this process, you use the object pool to define the functional features the ECU should have and how the actual application is represented. The English-language application note "Getting started with CANopen" lists some of the topics that must be observed in an implementation.
Step 2: Make or Buy?
Then you must decide whether to take on the implementation yourself or use a commercially available source code. The use of a commercially available CANopen source code offers persuasive advantages. In reviewing the many different products, you should note whether such source code:
Even if the source code were to cost 5,000 EUR, it would be difficult to justify an in-house development. At an hourly rate of about 70 EUR (that is about the going rate for an experienced freelance programmer in Germany), this would not even be enough for 72 working hours. It would be a very challenging task indeed to write production-quality CANopen Source Code in this amount of time and at this price.
Doubts regarding the code size and efficiency of source codes also prove to be unfounded upon closer examination.