Ada cross-compiler for bare metal SPARC V9 target

For what it is worth, SweetAda (GitHub - gabriele-galeotti/SweetAda: Ada-language framework · GitHub) targets also SPARC machines.

In the toolchains/ directory you can find complete Bash scripts to generate Binutils, GCC/GNAT compiler and GDB. The generated executables include gnatlink, gnatname, gnatprep, etc.

SweetAda is able to run on a real SPARCstation5 machine (I put the binary image on a flash memory, replacing the original), in the QEMU machine counterpart and a QEMU LEON3 machine. Minimal ZFP and SFP runtimes are provided as integral part of the framework.

Thanks for the link, this looks really interesting. It is similar to what I’m doing at the moment, i.e. a bootloader + small run time that can be used as a learning platform for more complex projects. I bookmarked your web site and may contact you in the future if I have more questions about SweetAda source code.

Wow, this is a really great project. Do you replace openboot or whatever was the firmware there (I started with SparcStation 10 so I don’t remember).

Yes.

Every SweetAda target starts out from CPU reset where possible. Some targets, then, are made available also as loadable kernels. This only because it’s impractical for a casual user to burn a Flash/EPROM (or whatever) and replace it in a physical machine. On the other hand, targets like the Raspberry Pi obviously let you load a kernel only after an initial bootloading phase.

One of the main goal of SweetAda was precisely to do that, to acquire control and make a transition to Ada code without external support.