Changes between Version 108 and Version 109 of Developer/OpenProjects

Mar 9, 2009, 10:56:25 AM (11 years ago)

Add RTEMS System Events


  • Developer/OpenProjects

    v108 v109  
    265265Dynamic object file loading or dynamic linking provides a way for RTEMS to run-time link an application from relocatable object files or libraries. This task is to implement the functionality using the IEEE standard API based on {{{<dlfcn.h>
    266266</code> interface more commonly know as {{{dlopen</code>. The intention is for this work to build on the work by Till Straumann and the CEXP package. For more detail on the task see the [wiki:Projects/libdl Dynamic Object File Loading] page in this Wiki.
     267= RTEMS System Events =
     270'''Status:''' No active volunteers.
     272'''Mentor:''' Chris Johns
     274The Classic RTEMS API Event interface is a user API that provides a efficient task synchronisation. This user API is also used by RTEMS system tasks such as the networking tasks and the libblock cache. These RTEMS services have taken event numbers and use them to wake a blocked task waiting on a specific resource. In the networking task this could be the reception of a packet and in the libblock cache once a block of data has been read into memory. If the task is internal to the service being provided there is no problem how-ever where the task is a user one there are possible problems. A blocked user task may be woken by another user task that happened to send the same event. This would upset the RTEMS service and make it look like a bug that is complex to find. Typically this is avoided in current application because the user is aware of the issue or uses an event number lower down. RTEMS needs a cleaner solution to this issue.
     276The project is to add a new "system" Event API for RTEMS system services. The API would be the same as current Event API and the services would be defined and use restricted to that service. If a user uses this API and a service for another use that would be considered a bug so no runtime checking is required. It is hoped the current Super Core code would be used with a different event bit map from the task control block and the current RTEMS services would be updated with a new API call and event.
    267277= Third Party Packages =