<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>