This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CANopenNode for Stellaris

Other Parts Discussed in Thread: LM3S8962

To anyone interested, I have ported the CANopenNode code (from SourceForge) to the Stellaris devices with CAN.

CANopenNode is "an open source software stack implementation of CANopen used for serial communication of multiple devices over the CAN/CANopen Network. It works on different microcontrollers, is reliable, simple and powerful and is suitable for industrial or home automation".

The porting documentation and source code is freely available at the following web page: http://dlkeng.cwahi.net/StellarisCANopenNode.htm

 

  • I would love to try out your CANopenNode Port on my Stellaris Launchpad (LM4F120XL) but sadly I have no idea how to use your files. I use Code Composer Studio, can you tell me which files I have to include into a new project to get it running?

  • This is a little difficult for me to answer as I do not use Code Composer Studio for Stellaris development (I use the Yagarto compiler).

    However, based on the tree structure of the zip file of the CANopenNode files on my website, you will need:

    • the source files from the CANopen/inc and CANopen/src folders
    • the source files from the Stellaris/common/inc and Stellaris/common/src folders

    The Stellaris/Tutorial folder contains files for several Tutorial projects. For example if you were to build the Tutorial/Command project for the LM3S8962, you would need the source files from the Stellaris/Tutorial/Command/Lm3s8962/inc and Stellaris/Tutorial/Command/Lm3s8962/src folders. The Stellaris/Tutorial/Command/Lm3s8962/prj folder contains the linker file.

    Additionally, you would need the source files from the Stellaris/Tutorial/Command/common/inc and Stellaris/Tutorial/Command/common/src folder.

    Also, since the code uses some of the Stellarisware utilities ustdlib and uartstdio, you will need those source files from the Stellarisware/utils folder.

    Finally, since the code uses the Stellarisware peripherals driver code, you would need to link to the Stellarisware library for the Stellaris processor family you are using.

    The Makefile for each project lists the files that are needed to be compiled - see the MYOBJS item for the list of object files. (for example, see Stellaris/Tutorial/Command/Lm3s8962/Makefile for the Tutorial/Command project)

    Sorry I can't be of any more specific help. I have finally received my Stellaris LaunchPad boards but I have not yet had a chance to play with them yet.

    Dan

  • Dan

    It is design on stellaris ware. So is it compatible to Tivaware?

    I have a customer want to do CANOPEN but M3 is EOL.

  • From what I can see, the CAN peripheral in the Tiva C Series is the same as the CAN peripheral in the Stellaris MCUs. So I would expect the CANOpen code to work with TivaWare as well. I don't have an easy way check it out though because the Connected LaunchPad board I have does not include a CAN transceiver to easily port and test the code from the LM3S8962 eval board I used earlier.

  • Inteliss Ltd. provides CANOpen protocol stack for TM4C based on TivaWare, at a very reasonable price.

    Please refer here for more information: http://www.firmwaremarket.com/communications/can/canopen-stack-source-code.html