Re: Embedded processor (and OS, tools) selection for long-life product



tns1 wrote:
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.




One way to go would be to build your own chip.
If the quantities you need are less than a few thousand per year, then a multi-project wafer would be the way to go.

This can work out as a surprisingly cost effective way to go.
We made our own chip in 0.35um - not the state of the art but a good solid process (used extensively in the Auto industry) and the total cost came to less than 50K euros.

You need to make sure that you get the source code for the entire design as well as the source code for the entire toolchain (Compiler, linker, debugger, IDE etc etc).

You can then be in complete control.

A few processor IP companies will do this for you - one is Cortus (http://www.cortus.com).

I doubt that ARM and any of the market leaders will though.

I will add Micrium uC/OS-II to your list of RTOS's to which you get the complete source code.


.



Relevant Pages

  • Re: CPU recommendations?
    ... done well, classes, templates, and stronger typing can give you a better development environment (clearer and safer source code and at least as small and fast object code). ... C has so many design faults there is no space to list them here. ... inheritance will make an AVR run like an 8051, and multiple inheritance will turn your source code into Greek). ...
    (comp.arch.embedded)
  • Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3
    ... source code for the part of their Linux kernel images that provides ... the functionality "runs on Tivo DVRs". ... source code, which must be distributed under the terms of Sections 1 ... WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ...
    (Linux-Kernel)
  • Re: Would I be violating the GPL?
    ... > A supplier of a PCI mezzanine digital IO card has provided a linux 2.4 ... > distributing the source code), or the proprietary source code license ... > as currently imposed by the supplier. ... I suspect all kernel modules are probably derivative works but I am not ...
    (Linux-Kernel)
  • Re: Report from the LuxAsm mailing list for Betov
    ... You will be able to use LuxAsm as a command-line tool - like any other - ... for use with, for example, "makefiles" and so forth...if the editor crashes ... I've thought of this...and it was a _DELIBRATE_ design decision ... the assembler's "assemble" service and then pass it source code and it'll ...
    (alt.lang.asm)
  • Re: My First C# (warning - long post)
    ... The one main OO design point that you should eventually spot from ... and all hold onto the **Single Responsibility Principle. ... the need for source code maintenance in the traditional sense. ... so that they can be extended, without requiring them to be modified. ...
    (comp.lang.cobol)