Running ADA 2012 on STM32 SBC (Bluno M3 or Arch Max)

The Bluno M3 (Cortex-M3 processor) and Seeed Studio Arch Max v1.1 (Cortex M4F processor - effectively a cortex M3 + DSP) both have STM32 processors and both are similar to the STM32 boards supported under the ADACore development environment (Community Edition) with example projects available to run native ADA on the STM32 processor. Has anyone had any experience with these boards, especially if they tried to run ADA on them?

Note: The above development environment supports the On chip debug (OCD) interface and should be compatible with the Segger JTAG.

Running Ada 2012 on the Seeed Arch Max v1.1 and debugging native STM32 code is possible. I had the Led Demo project (Blinking LED) run on the Arch Max v1.1 (STM32F4xx) board with pyocd gdbserver running and the Gnat Programming Studio (GPS - 2019) running in debug mode for the project connected to the pyocd gdbserver. I’ve uploaded a screen shot of the session

1 Like

Here is a screen shot of a Ada 2012 program called Blinky, using the Ada Drivers Library (available on the web) and running in debug mode on the Arch Max v1.1 and built on the Ada Core 2020 Community Edition and connected to the board using pyocd. Attached is the build log showing the available drivers that are supported for the STM32f4discovery board. Note: The Arch Max v1.1 has the same processor as the STM32f4discovery board.

gprbuild.pdf (55.5 KB)

1 Like

I’m in the process of creating a board spec for the Arch Max in the Ada Drivers Library, so far the projects are building, but I’ve run into a problem with pyocd (using python 3.8.x) and its capability to flash this board. Note: the DAP interface that came with the board is incorrect as it thinks the mpu has 1024K flash. ARM Mbed have an updated image to correct this. The file you should be looking to download is 0253_lpc11u35_archmax_0x0000.bin release late 2019 or a later version.

I now can successfully flash the Arch Max board and run AND debug the Ada Driver Library running bare-metal on the STM32F407VETx using the pyocd framework.

1 Like