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.
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:
(I have first used RTEMS with GNAT Ada for a proprietary project based on ARM9TDMI core in around 2004-2005.)
I'm one of the original RTEMS developers and been the RTEMS Project lead since it transitioned from an Army research program to a traditional free software project. We try very hard to keep RTEMS as a high quality product with a great community.
The AVR is a quite small target and the RTEMS port is incomplete. Even if the RTEMS port were complete, I do not think there is an AVR with enough address space to support GNAT/RTEMS. GNAT maps each Ada task to a POSIX thread just as on GNU/Linux and the run-time footprint for a "real Ada" environment is large. I recall minimum executables in the 400K code range on a PowerPC. In comparison, the RTEMS minimum C executable is probably in the 32-40k range on that same target.
I am not that familiar with AVR-Ada but I would agree that it is highly unlikely to give you a full Ada environment.
The RTEMS Project has scripts which we use to build the GNU tools and test them. If you are interested in building tools for your own odd target, they can be a good guide. The procedure doesn't vary a lot for embedded targets.
Marc C.. since you are in Huntsville, we will have to get together for lunch sometimes. Our office is roughly across from Bridge Street. I really don't get to meet many RTEMS users. :(
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With