Dieses Buch beschreibt die Entwicklung und Implementierung eines CAN-Treibers (Controller Area Network) für Embedded-Linux mit 2.6er Kernel auf einem 32-Bit RISC-Prozessor. Der verwendete Prozessor besitzt einen integrierten CAN-Bus-Controller, der kompatibel zum weit verbreiteten SJA1000 von Philips ist. Dieser Controller wird durch Schreib- und Lesezugriffe auf 8-Bit-Register angesprochen.
Der Treiber wurde als Linux-Character-Treiber implementiert, auf die Nachrichten kann in Form von C-Strukturen zugegriffen werden. Der CAN-Controller kann sowohl im Basic-Modus (nur Nachrichten im CAN-Standardformat können gesendet und empfangen werden) als auch im Erweiterten Modus (Nachrichten können im Standard- und im Erweiterten Format gesendet und empfangen werden) verwendet werden. Auch die Verwendung der Nachrichtenfilter des Controllers ist mit dem entwickelten Treiber möglich.
Neben der Implementierung werden auch umfangreiche Tests des Treibers und des Controllers beschrieben, die Verwendung des Treibers erklärt und ein kleines Einsatzbeispiel aufgezeigt.
Der Treiber wurde als Linux-Character-Treiber implementiert, auf die Nachrichten kann in Form von C-Strukturen zugegriffen werden. Der CAN-Controller kann sowohl im Basic-Modus (nur Nachrichten im CAN-Standardformat können gesendet und empfangen werden) als auch im Erweiterten Modus (Nachrichten können im Standard- und im Erweiterten Format gesendet und empfangen werden) verwendet werden. Auch die Verwendung der Nachrichtenfilter des Controllers ist mit dem entwickelten Treiber möglich.
Neben der Implementierung werden auch umfangreiche Tests des Treibers und des Controllers beschrieben, die Verwendung des Treibers erklärt und ein kleines Einsatzbeispiel aufgezeigt.