| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| drivers:main [2023/09/19 11:33] – [Low level CAN driver software] uwilhelm | drivers:main [2026/03/27 11:37] (current) – [LINUX] pavelpisa |
|---|
| All started with a Linux character device driver, **can4linux**, in the very early years around 1995. This project was born in cooperation with the LINUX LLP Project to control laboratory or automation devices via CAN. LLP stands for Linux Lab Project. | All started with a Linux character device driver, **can4linux**, in the very early years around 1995. This project was born in cooperation with the LINUX LLP Project to control laboratory or automation devices via CAN. LLP stands for Linux Lab Project. |
| |
| * char driver | * char driver (out-of-tree) |
| * [[https://gitlab.com/hjoertel/can4linux |can4linux]] one of the first available CAN device drivers for Linux is hosted on GitLab. The project started in 1995 already. [[http://www.can-wiki.info/can4linux/man/index.html|Manual pages]] Doxygen generated. [[wp>can4linux]]. can4linux is manufacturer independent and has support for EMS Wünsche, Kvaser, Janz Contemporayry Controls and such embedded Linux devices as RaspberryPi, BananaPi, iMX based Linux, Olimex and more. | * [[https://gitlab.com/hjoertel/can4linux |can4linux]] one of the first available CAN device drivers for Linux is hosted on GitLab. The project started in 1995 already. [[http://www.can-wiki.info/can4linux/man/index.html|Manual pages]] Doxygen generated. [[wp>can4linux]]. can4linux is manufacturer independent and has support for EMS Wünsche, Kvaser, Janz Contemporayry Controls and such embedded Linux devices as RaspberryPi, BananaPi, iMX based Linux, Olimex and more. |
| * [[ https://www.kvaser.com/linux-drivers-and-sdk/ |Kvaser Linux Drivers and SDK ]] Linux character based driver for all Kvaser products, including the latest CAN FD devices. | * [[ https://www.kvaser.com/linux-drivers-and-sdk/ |Kvaser Linux Drivers and SDK ]] Linux character based driver for all Kvaser products, including the latest CAN FD devices. |
| |
| * net driver | * net driver |
| * [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/networking/can.txt|SocketCAN]] is a network layer driver for CAN. It is part of the Linux kernel since some years. SocketCAN has over the years assembled support for many interfaces boards from different vendors. | * [[https://docs.kernel.org/networking/can.html|SocketCAN]] is a network layer driver for CAN. It is part of the Linux kernel (official, included in mainline from version [[https://kernelnewbies.org/Linux_2_6_25|2.6.25]] (2008). SocketCAN has over the years assembled support for many interfaces boards from different vendors. |
| |
| |
| * [[http://aph-le.github.io/can4osx/ | can4osx]] User-space driver for OSX using IOKitLib and IOUSBLib CAN to USB Adapters using the Kvaser canlib API. Based on Kvaser canlib linux driver. | * [[http://aph-le.github.io/can4osx/ | can4osx]] User-space driver for OSX using IOKitLib and IOUSBLib CAN to USB Adapters using the Kvaser canlib API. Based on Kvaser canlib linux driver. |
| * [[http://www.mac-can.com/ | MacCAN]] OS X Library for PEAK-System PCAN-USB Interfaces using Apple´s IOUSBKit. The library comes with an Objective-C wrapper and a demo App | * [[http://www.mac-can.com/ | MacCAN]] OS X Library for PEAK-System PCAN-USB Interfaces using Apple´s IOUSBKit. The library comes with an Objective-C wrapper and a demo App |
| | |
| | ==== RTEMS ==== |
| | * [[https://docs.rtems.org/docs/main/bsp-howto/can.html | CAN Driver ]] in RTEMS BSP and Driver Guide |
| | |
| | ==== NuttX ==== |
| | * [[https://nuttx.apache.org/docs/latest/components/drivers/character/can.html | CAN Drivers]] in Documentation |
| | * NuttX provides two options for CAN/CAN FD drivers API, Linux inspired SocketCAN and classical character driver API |
| ===== Low level CAN driver software ===== | ===== Low level CAN driver software ===== |
| |
| * [[https://gitlab.com/hjoertel/can4linux/tree/master/can4linux-examples | Tcl binding for can4linux]] | * [[https://gitlab.com/hjoertel/can4linux/tree/master/can4linux-examples | Tcl binding for can4linux]] |
| * [[https://gitlab.com/hjoertel/can4linux/tree/master/can4linux-examples | Python binding for can4linux ]] | * [[https://gitlab.com/hjoertel/can4linux/tree/master/can4linux-examples | Python binding for can4linux ]] |
| | * [[https://ortcan.sourceforge.net/ | OCERA Real-Time CAN]] project offers libVCA which supports Linux SocketCAN, RTEMS and NuttX RTOS APIs as well as tools to access and emulate CANopen devices. |