More info, OS and toolchain discussion...
This is industrial safety monitoring equipment that also has to meet some minimal radiation rating. Trailing edge technologies with larger process geometries may actually fare better. Compatibility with in-house assembly equipment may eliminate using BGA components.
The overall HW design will include RS232,RS485, current loop, A/D, D/A, a key panel with display, and some GPIO. The biggest change is to add an ethernet port which could be satisfied by some kind of separate serial to ethernet adaptor design as long as all the IP were available.
I am still getting an idea of what my requirements really are and what that means in terms of component selection. My interpretation so far is to stay away from proprietary architectures and tools which may go away. I think I will want the source for every piece, so open source or commercialized open source.
The original system design used the Intel i960 running the Intel iRMK kernel. You are lucky if you can even find any mention of this processor/scheduler combo today (tell me if you find anything), let alone any reference manuals. Intel is still going strong but these particular products have long been abandoned. The old command line cross-tools are still workable under XP, but obviously won't be of use on the re-design.
The iRMK/iRMX product was sold and the new company has continued with the x86 port. I'd consider it if I still wanted to use x86.
The existing kernel is just a scheduler without a filesystem. It only uses the most basic kernel services (tasks, semaphores, mailboxes). The only new complication is ethernet, which may not need to be handled directly by the main processor if it complicates the whole safety verification part too much. There is a big advantage in preserving existing code and task partitioning - something simple and very similar to the existing kernel.
Possible candidates so far are Ecos, QNX, FreeRTOS/SafeRTOS, L4. If it isn't already ported to many devices or the complete source is not available, then it isn't a candidate. On the other hand, my app code is commercial and probably can't be made public.