RTEMS driver development questions
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jul 3 07:19:10 UTC 2013
Hello David,
On 07/02/2013 06:31 PM, David Paterson wrote:
[...]
> Firstly, for a PCI driver, is the best approach to use the driver manager
> layer, or to write it as a basic driver? It looks like the driver manager
> would be a simpler way to go, as it provides more facilities, but it's not
> clear if it's a standard RTEMS feature, or only available on LEON-based
> systems. (I'm actually working on a LEON-based board at the moment, but we
> would like the drivers to be useable on other platforms in the future.)
this driver manager is maintained outside the RTEMS main sources.
> Secondly, I'm a bit unsure about handling of multiple devices (and
> hot-pluggable devices). It looks like the driver manager would call my init1 &
> init2 functions for each device it found with matching vendor & device ID's,
> but how does this get handled in the basic (non-driver-manager) approach? Is
> it up to my initialisation function to scan for my devices? For hot-pluggable,
> e.g. USB, devices, the situation looks even more confusing...
[...]
Unfortunately the standard RTEMS system has no dynamic driver management
framework. It only provides very simple static device drivers.
See also:
http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__ClassicIO.html
You can also use the generic IMFS nodes for simple device drivers:
http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__IMFSGenericNodes.html
The USB library and the new network stack for RTEMS uses the FreeBSD device
driver model. I would use this API also for RTEMS in addition to the simple
static device drivers.
http://www.freebsd.org/doc/en/books/arch-handbook/devicedrivers.html
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the users
mailing list