0
votes

Segmentation fault when I run hello world on the beaglebone blue.

I successfully compiled Hello world using the GNAT 2019-arm-elf compiler on Windows. For the Ada runtime I have tried zfp-cortex-m7f, and zfp-cortex-m7df. Beaglebone Blue has a armv7l, Could it be that the Ada Runtime doesn't exist for this chip?

project Default is

   for Source_Dirs use ("src");
   for Object_Dir use "obj";
   for Main use ("main.adb");
   for Target use "arm-eabi";
   for Runtime ("ada") use "zfp-cortex-m7f";

end Default;

with ada.text_io;

procedure Main is

begin
   --  Insert code here.
   ada.text_io.put_line("hello!");
end Main;
1

1 Answers

2
votes

The Beaglebone Blue runs Debian Linux, whereas the runtimes you mention are for bare boards.

It’s certainly possible to compile Ada on a Raspberry Pi, so it may be possible to do the same on a BBB. It might take a long time, and require you to install extra "disk".

Obviously cross-compilation would be best, but someone (you?) is going to have to create the RTS for the BBB. It’s possible that you could just lift the RPi runtime and rebuild with the right switches? This suggests that the appropriate switches are -march=armv7-a -marm -mfpu=neon -mtune=cortex-a8, which GNAT CE 2019 arm-elf compiler (OK, for the Mac) is happy with.