Unable to Receive Can Signal

Hi there,

We are attempting to test the CAN output on the Colibri IMX6 development board but we are unable to ever get a signal.

We have a logic analyzer hooked up to GND and X38 CAN TX. We’ve tried building and running the can demo that are in the libraries here:

And can run the utility here:

We’ve successfully debugged the Can_Demo.c file on the board and can use the utility to send out signals but we are not picking up anything on the logic analyzer. We’ve ensured that we have altered the code to use the imx6_ function calls. We’ve also tried to write a driver program to continually send out data through the can interface but came up with nothing there too. We are primarily concerned with getting our driver program to spit data out through CAN as we have implemented a custom BSP layer that we are trying to verify.

Our questions:

  1. Is there a particular flag that we should set when building the OS to enable CAN?
  2. Do we have our logic analyzer hooked up correctly?
  3. Is there something else we are missing entirely in the software?

Thanks!

Using imx6_* functions is not suggested since it will provide no advantage (the library should be able to use the right implementation for the module you are using) and makes your code less portable on other modules.
Please check that in CAN_Init call you are using CAN1: or CAN2: to reference the internal can controller. If you set the “implementation” parameter you should set it to “FlexCan” that is the internal controller. Or imx6 you may also use the external SPI controller we support on modules that don’t have integrated CAN (Colibri PXA and Tegra), but this is suggested only if you need to use imx6 on a board that has been designed for those modules.
Check also that jumpers on the EVB are set to use the internal CAN and not the external controller.