<div dir="ltr"><div><div>On 3 July 2013 08:19, Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br>><br>> this driver manager is maintained outside the RTEMS main sources.<br>
<br></div>Thanks Sebastian.  It looks like it has some nice features, so perhaps it'll be incorporated into the main codebase eventually.  I'll go with the basic driver model for now.<br><br></div><div><div>>> Secondly, I'm a bit unsure about handling of multiple devices (and<br>
>> hot-pluggable devices).  It looks like the driver manager would call my init1 &<br>>> init2 functions for each device it found with matching vendor & device ID's,<br>>> but how does this get handled in the basic (non-driver-manager) approach?  Is<br>
>> it up to my initialisation function to scan for my devices?  For hot-pluggable,<br>>> e.g. USB, devices, the situation looks even more confusing...<br>><br>> Unfortunately the standard RTEMS system has no dynamic driver management framework.  It only provides very simple static device drivers.<br>
<br></div><div>Ah, OK.  I presume we'd have to write our own attach / detach system to handle this situation.  We'll look into that when we get to that part of the development.  Luckily it's still some time away :-)<br>
</div><div><br>> See also:<br>><br>> <a href="http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__ClassicIO.html">http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__ClassicIO.html</a><br>><br>> You can also use the generic IMFS nodes for simple device drivers:<br>
><br>> <a href="http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__IMFSGenericNodes.html">http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__IMFSGenericNodes.html</a><br>><br>> 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.<br>
><br>> <a href="http://www.freebsd.org/doc/en/books/arch-handbook/devicedrivers.html">http://www.freebsd.org/doc/en/books/arch-handbook/devicedrivers.html</a><br><br></div><div>Thanks Sebastian - some very useful links there. I should be able to make plenty of progress now.<br>
<br></div><div>Regards,<br><br>David P.<br></div></div></div>