Skip to end of metadata
Go to start of metadata

Step-by-step guide

Software Setup:

  1. Kernel:

    1. Apply the CAN patches to the linux source code: 0002-mvf-fixed-flexcan-driver-and-added-support-for-flexc.patch and 0003-pcm052-added-flexcan-support-for-the-phyCORE-Vybrid.patch

      cd build_armv7l-timesys-linux-gnueabi/linux-3.0/
      patch -p1 < 0002-mvf-fixed-flexcan-driver-and-added-support-for-flexc.patch
      patch -p1 < 0003-pcm052-added-flexcan-support-for-the-phyCORE-Vybrid.patch
    2. Rebuild the kernel:

      make kernel-restage; make kernel-build; make kernel-install-image
  2. Root filesystem
    1. The root filesystem must include iproute2 and can-utils. Use the menuconfig command in the Timesys Factory to select them:
      make menuconfig
        ¦     -> Target Software                                                                 ¦  
        ¦       -> Software Packages                                                             ¦  
        ¦         -> Networking                                                                  ¦  
        ¦           -> Miscellaneous                                                             ¦  
        ¦             [*] iproute2 --->
      
        ¦     -> Target Software                                                                 ¦  
        ¦       -> Software Packages                                                             ¦  
        ¦         -> Networking                                                                  ¦  
        ¦           CAN Bus  --->                                                                ¦  
        ¦             [*] canutils  --->
    2. Build these packages:

      make

Test the CAN Interface:

We recommend using PCAN-USB and PCAN-View Software to test the CAN interface.

Download the device driver for PCAN-USB here: http://www.peak-system.com/PCAN-USB.199.0.html?&L=1 

Open PCAN-View, install from here: http://www.peak-system.com/PCAN-View.242.0.html?&L=1 (set to 1Mbit/s)

  1. Open PCAN view on your host computer and configure the bitrate. In this example it is set to 1Mbit/s.
  2. Setup the CAN interface on the Vybrid, from the Linux target console run:
    ip link set can0 down
    ip link set can0 type can bitrate 1000000 triple-sampling on
    ip link set can0 up

    Make sure that the bitrate set here matches the one set on your host computer in PCAN-View.

  3. Transmit a message to the host computer. Type the following from the target console:

    cansend can0 222 173 190 239 202 254 186 190


    1. You should see the following in the 'Receive' section of PCAN-View:

      Should view the following: 
      Message		DLC		Data
      01h			8		DE AD BE EF CA FE BA BE
  4. Receive a message from the host computer. Type the following from the target console:

    candump
    [CTRL+C to quit candump


    1. On PCAN-View 'Transmit':

      1. Right Click -> New Message

      2. Create a message

      3. Click OK

      4. Double Click the message in the 'Transmit' window

      5. When running candump - should see the message in target console

CAN Not Working?

See this message: "ip: either "dev" is duplicate, or "type" is garbage"

http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver

Solution: Run "which ip", if it states "/bin/ip" - make sure you are using the correct filesystem (iproute2) -- should result in "/sbin/ip"