Hello everybody, in my opinion it should be not that difficult to add a new scheduler using the EDF-algorithm to schedule the different threads ... nothing like cyg_thread_deadline_wait should be needed therefore. The only thing you have to be aware of is the relative or absolute deadline of a thread, then you order all the threads within a simple priority queue (maybe implemented as heap), where a shorter deadline refers to a higher priority. Three problems may arise nevertheless: 1. The eCos-interface knows nothing about thread-specific deadlines (as far as I know), so deadlines must be added to threads, but this can be done the same way as priorities are given to threads ... so no problem 2. The second (real) problem may arise on the side of the application: in real-time systems one normally uses the notion of a task and associates tasks with a deadline, but one task can consist of one or none ISR+DSR and one or more threads within eCos. To find the right mapping of tasks to an appropriate set of ISRs,DSRs, Threads and Deadlines within in eCos might be very difficult or in some cases even impossible 3. Threads/tasks in systems scheduled by EDF normally never block, so thread synchronisation also has to be taken care of
Ciao, Fabian -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
