Return to search

A Modular Driver for DSP Hardware and Linux 2.6

This diploma thesis discusses the porting of a device driver for DSP development boards.
Initially, there was an older version for Linux Kernel 2.4, that should be ported to the
new version 2.6. Thereby, the structure had to be redesigned in terms of a simplification
and a functional enhancement. One of the basic changes was to remove the necessity of
a talker on DSP side from the design.
The resulting driver consists of a generic module and several hardware dependent
modules, one for every supported DSP board. Besides the generic driver, chip drivers for
TI EVM C62 and ATEME NVDK C64 have been implemented. Since the representation
in the file system is a character device, the system call API serves as standard user
interface. Additionally, Sys FS is used to make driver controls and hardware registers.
directly accessible. Another new feature is the possibility of handling data streams,
which are often produced by DSP programs as output. So a mechanism for asynchronous
data communication was needed. The netlink sockets provide this functionality and are
therefore used by the driver. / Das Thema dieser Diplomarbeit ist die Portierung eines Gerätetreibers für DSP Entwicklerboards. Ausgangspunkt war ein alter Treiber für Linux Kernel 2.4, welcher für den neuen Kernel 2.6 angepasst werden sollte. Dabei sollte die Struktur vereinfacht und die Funktionalität erweitert werden. Wichtigste Änderung war es, den Treiber unabhängig von einem Talker auf DSP-Seite zu machen.

Der entstandene Treiber besteht aus einem generischen Modul und verschiedenen Hardware abhängigen Modulen, eins für jedes unterstützte Board. Es entstanden somit Treiber für das TI EVM C62 und das ATEME NVDK C64. Als Nutzer Interface dient das System Call API, die Representation des Treibers im System ist eine Gerätedatei. Zudem wird die Verwendung des SysFS für den Zugriff aud Treiber Einstellungen und Hardware Register gezeigt. Ein weitere Funktion bietet die Möglichkeit, Datenströme zwischen DSP und Linux-User zu übermitteln. Diese asynchrone Datenkommunikation wird mit Netlink Sockets realisiert.

Identiferoai:union.ndltd.org:DRESDEN/oai:qucosa.de:swb:ch1-200700111
Date29 January 2007
CreatorsNeubert, Tobias
ContributorsTU Chemnitz, Fakultät für Informatik, Dr. Robert Baumgartl, Dr. Robert Baumgartl, Mirko Parthey
PublisherUniversitätsbibliothek Chemnitz
Source SetsHochschulschriftenserver (HSSS) der SLUB Dresden
LanguageEnglish
Detected LanguageEnglish
Typedoc-type:masterThesis
Formatapplication/pdf, text/plain, application/zip
RightsDokument ist für Print on Demand freigegeben

Page generated in 0.0024 seconds