The CAN driver has the task of initializing the CAN controller(s), sending messages and forwarding received messages and error states. The interface of the CAN driver is designed so that it is an easy matter to move to other CAN controllers.
The following CAN controllers or processors are currently supported. Further drivers on request. For an overview refer to the lists of CANbedded and CANopen Slave Source Code.
| Controller |
CAN |
Compiler |
| Infineon |
C161, C164, C167 |
internal |
Tasking, Keil (*5) |
| C166 |
external 82527, SJA1000, (81C90/91) |
| XC164CS |
TwinCAN |
| STM |
ST10F276 |
internal (C_CAN) |
Tasking |
| Intel |
80x86 |
82527, SJA1000 |
MS VC++ |
| Freescale (Motorola) |
PowerPC 555,565 |
internal TouCAN |
GNU GCC |
| 68376 |
internal TouCAN |
| 68xxx |
82527, TouCAN, SJA1000 |
| HCS12 |
intern msCAN12 |
Metrowerks
|
| Renesas (Hitachi) |
SH2/SH7047
|
internal HCAN2 |
Hitachi HEW |
| SH2/SH7055 |
internal dual HCAN1
|
| Vector |
CANoe osCAN Emulation |
CANcardXL, CANcaseXL, ... |
MS VC++. also available as DLL |
| Several manufacturers |
ANSI-C |
82527, TouCAN, SJA1000 |
|
* = planned/under development
*5 = with additional fee