Linux CAN / CANopen Driver
Overview
The can4linux Project started already in 1997 with version 0.1. Goal of the development was a generic CAN driver which can be configured at run-time for different CAN interfaces. Mainly used in desktop systems, the resulting overhead was accepted. The development was based on the Linux Device Driver Kit LDDK by Clausi Schröter from the Linux Lab Project.This older universal Linux device driver can4linux supports Philips 82c200/SJA1000 and Intel 82527 based I/O interfaces. The AT-CAN-MINI is supported. The source code can be compiled for kernels 2.0., 2.2 and 2.4. This driver is no longer maintained. The last available version is 1.4.
Derived from this driver is the new can4linux version line 2.x and follow-up. The last available version is 3.3. The newer versions can be compiled for Linux and uClinux kernel 2.4 and later (including 2.6 at the moment.) Designed to be used in embedded applications (as well as still on the desktop) this version is configured at compile time for the right hardware. Originally with support only for SJA1000 there is now support fo Intels 82527 again available. Within the scope of the uClinux project a version supporting Freescales FlexCAN and Infineons TwinCAN and the Analog Devices BlackFin CAN was created.
can4linux is alrady available as kernel 2.6 compatible driver for some of the supported hardware targets. Please ask at service@port.de.
Download
can4linux is available for free. Latest versions are available for download on SourceForgeRead the CHANGELOG to see the latest version.
The GPLed Sources V3.5.4
for kernel 2.6 and kernel 2.4 can be
downloaded here (updated 18.06.2009).
Future versions will not anymore have support for kernels 2.4.x.
Read the
CHANGELOG
or take a closer look into
the manual.
Older versions (up to V 3.3 only for kernel 2.4 or older):
V2.0,
V2.1,
V2.2,
V2.3,
V2.6,
V3.0,
V3.1,
V3.2,
V3.3.3,
V3.3.4,
V3.4,
V3.4.1,
V3.4.2,
V3.4.4,
V3.4.5,
V3.4.6,
V3.5.2,
V3.5.3,
V3.5.4
Supported Boards
The drivers supports some ISA boards and some PCI boards:- Advantech Pcm-3680 (PC 104)
- ARCOM Single Channel Opto-Isolated CAN interface modules supporting the Philips SJA1000 Controller AIM104-CAN
- only Version 2.x: port AT-CAN-MINI (alt: 11 bit basic CAN mode)
- port AT-CAN-MINI (PeliCAN mode 29bit)
- Analog Devices BF537 STAMP board
- ATMEL AT91SAM9263-EK board (included in can4linux since V 3.5.3)
- ATMEL AT91SAM9263 board with external Microchip MCP2515 (included in can4linux since V 3.5.3) TARGET=SSV_MCP2515
- ATMEL AT91SAM9260 board with three external NXP SJA1000 (included in can4linux since V 3.5.3) TARGET=MMC_SJA1000
- EMS CPC-PCIe, PCI-Express board with up to 2 galvanically decoupled CAN channels (NXP SJA1000)
- EMS CPC-PCI, PCI board with up to 2 galvanically decoupled CAN channels (SJA1000)
- EMS CPC-PCI V2, PCI board with up to 4 galvanically decoupled CAN channels (SJA1000)
- EMS CPC-XT (Intel 82527)
- EMS CPC-104, PC104 board with one galvanically decoupled CAN channel (SJA1000)
- EMS CPC-104M, PC104 board with four galvanically decoupled CAN channels (SJA1000)
- I+ME ACTIA SlimLine
- IXXAT PCI03 (only SJA1000)
- DIL-NET TRM/816
- IGW900 (FlexCAN)
- DigiTec PCMatic® Feldbusmodul FC-CAN (SJA1000)
- Kvaser PCIcan, PCI board with 4 galvanically decoupled CAN channels (SJA1000)
- MPL VCMA9 Linux komplett Rechner mit ARM9 CPU Linux compact board with ARM9 CPU
- BSKY PCM9890 PC104 board (SJA1000)
- In preparation: ESD PC104/200.
For all interested in CANopen a demo version of the CANopen Server m4d is available here. The m4d is bundled with our CANopen Device Monitor.