cross-compilingadaavrrtosrtems

Ada multitasking RTOS supported with opensource cross-compilers


Which RTOSes do Ada have opensource/free cross-compilers available, with support for multitasking/multithreading?

I have an Atmel AT90USB162 chip which I want to program using Ada. My first option was to use AVR-Ada for programming it, but since it has no tasking support it's out of choice (and at now I don't have any clue on how turning it tasking supported). So I need a stronger approach. I thought about using QNX, but it's far more complex than my chip stands.

I got the info that AVR chip supports uC/OS-II and FreeRTOS. Are there free Ada cross-compilers for FreeRTOS or uC/OS-II?

Thanks.


Solution

  • RTEMS supports GNAT at least for some architectures. However, since you mentioned Atmel AVR architecture, this is probably not supported due to architectural constraints (available memory mostly). RTEMS is very mature (it was open source before Linux was invented), and has been proven extremely useable in many projects.

    Another option is MarteOS, which supports at Ada. However, the support of architectures has been very limited (initially x86 only).

    So, depending on your project constraints you most likely have three options:

    1. Stay with AVR, and write your own runtime supporting tasking for Ada;
    2. Re-consider if you really need the run-time support for tasking; or
    3. Upgrade your architecture to one which is supported by an RTOS which supports Ada.

    (I have first used RTEMS with GNAT Ada for a proprietary project based on ARM9TDMI core in around 2004-2005.)