How to configure and use CAN bus: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
This article explains how to enable the CAN bus using as examples the [[:Category:AM35x | AM35x]] [[LogicPD AM35x EVM | EVM]] and [[:Category:OMAP35x OMAP35x], but can be applied to other platforms as well. In addition, steps to exchange data with a MCP2515 Bus Monitor board is also documented. | This article explains how to enable the CAN bus using as examples the [[:Category:AM35x | AM35x]] [[LogicPD AM35x EVM | EVM]] and [[:Category:OMAP35x OMAP35x], but can be applied to other platforms as well. In addition, steps to exchange data with a MCP2515 Bus Monitor board is also documented. | ||
== Enable the CAN controller kernel driver == | == Enable the CAN controller kernel driver == | ||
Line 30: | Line 24: | ||
CAN bit-timing calculation | CAN bit-timing calculation | ||
Microchip MCP251x SPI CAN controller | Microchip MCP251x SPI CAN controller | ||
== Enable socketcan and ip tools == | |||
Working with the CAN bus requires enabling the 'ip' tools from iputils2 package (the 'ip' tool from busybox won't work). The socketcan package is optional and provide you with tools to debug your can bus. | |||
These packages are available for selection from the RidgeRun SDK in the configuration menu. | |||
File System Configuration | |||
Select target's file system software | |||
iproute2-2.6.34 | |||
socketcan utils | |||
== Setup the networking rules== | == Setup the networking rules== | ||
Edit your /etc/networking/interfaces on the target | Edit your /etc/networking/interfaces on the target file system and add the following rules (required to setup the bit-rate of the bus): | ||
auto can0 | auto can0 | ||
Line 46: | Line 52: | ||
* http://processors.wiki.ti.com/index.php/Sitara_AM35x_CAN_(HECC)_Linux_Driver | * http://processors.wiki.ti.com/index.php/Sitara_AM35x_CAN_(HECC)_Linux_Driver | ||
[[Category:AM35x]][[Category:Whitepaper]] | [[Category:AM35x]][[Category:OMAP3x]][[Category:Whitepaper]] |
Revision as of 17:49, 20 December 2010
This article explains how to enable the CAN bus using as examples the AM35x EVM and [[:Category:OMAP35x OMAP35x], but can be applied to other platforms as well. In addition, steps to exchange data with a MCP2515 Bus Monitor board is also documented.
Enable the CAN controller kernel driver
AM35x kernel
In the case of the Category:AM35x platform the configuration is:
Linux Kernel Configuration Networking support CAN bus subsystem support CAN device drivers Platform CAN drivers with Netlink support CAN bit-timing calculation TI High End CAN controller (HECC)
OMAP3x kernel
In the case of the Category:OMAP3x platform with a MCP2515 chip the configuration is:
Linux Kernel Configuration Networking support CAN bus subsystem support CAN device drivers Platform CAN drivers with Netlink support CAN bit-timing calculation Microchip MCP251x SPI CAN controller
Enable socketcan and ip tools
Working with the CAN bus requires enabling the 'ip' tools from iputils2 package (the 'ip' tool from busybox won't work). The socketcan package is optional and provide you with tools to debug your can bus.
These packages are available for selection from the RidgeRun SDK in the configuration menu.
File System Configuration Select target's file system software iproute2-2.6.34 socketcan utils
Setup the networking rules
Edit your /etc/networking/interfaces on the target file system and add the following rules (required to setup the bit-rate of the bus):
auto can0 iface can0 inet manual #pre-up ip link set $IFACE type can bitrate 125000 listen-only off pre-up /ip link set $IFACE type can bitrate 125000 triple-sampling on up /sbin/ifconfig $IFACE up down /sbin/ifconfig $IFACE down