Jump to main content Hotkeys
Distributed and Self-organizing Systems
Distributed and Self-organizing Systems

Studienarbeit

Entwicklung eines CAN-Treibers für Linux
Entwicklung eines CAN-Treibers für Linux

Completion

2006/04

Students

Maik Hentsche

Maik Hentsche

student

Advisers

R. Baumgartl

R. Baumgartl

anders

Description (German)

Die SYS TEC electronic GmbH ist seit vielen Jahren ein führender Anbieter von
          CANopen-Produkten im Hard- und Softwarebereich. Die Kernkomponente hierbei ist der im
          eigenen Haus implementierte CANopen-Protokollstack. Dieser Stack setzt auf einem
          hardwareunabhängigen Treiberinterface auf und arbeitet so mit einer Vielzahl verschiedener
          CAN-Controller zusammen, für die ein entsprechender Hardware-Treiber existiert.
          Voraussetzung für den Einsatz des CANopen-Protokollstacks unter Linux ist ein geeigneter
          Kernel-Treiber. Der zu entwickelnde Linux-Treiber soll auf die bereits verfügbaren
          Hardware-Treiber für die verschiedensten CAN-Controller aufsetzen und diese im
          Kernel-Space um das für Linux-Treiber typische IoCtrl-Interface erweitern. Komplementär
          dazu ist im User-Space ein Wrapper notwendig, der das vom CANopen-Protokollstack genutzte
          hardwareunabhängige Treiberinterface auf IoCtrl-Aufrufe abbildet.

          Der CAN-Treiber für Linux soll folgende Funktionalitäten unterstützen:

          1. Einbindung des CAN-Treibers als Character-Device unter /dev/can0, /dev/can1 usw.
          2. Zugriff auf den Treiber über File-Funktionen, wobei eine Treiberinstanz über ein
          entsprechendes Filehandle repräsentiert wird
          3. Treiberintern ist der für CANopen notwendige Instanzpointer aus dem File-Handle
          aufzulösen
          4. Implementierung von blockierenden und nicht-blockierend Read-/Write-Operationen auf
          Basis des beim Öffnen des Treibers übergebenen Filehandles

          Der CAN-Treiber soll vorrangig auf Embedded Systemen unter µCLinux zum Einsatz kommen.
          Voraussetzungen zur Bearbeitung des Themas sind:

          * Programmierkenntnisse in C sowie im Umgang mit der GNU-Toolchain
          * Kenntnisse in der Linux-Programmierung sowie Erfahrungen im Umgang mit Embedded Systemen
          * Kenntnisse in der Linux-Treiberprogrammierung sowie Erfahrungen mit CANopen sind
          wünschenswert


Powered by DGS
Edit list (authentication required)

Press Articles