Skip to content
@GNAT-Academic-Program

AdaCore GNAT Academic Program

GNAT Academic Program

The GNAT Academic Program (GAP) is AdaCore's bridge to universities: capstone projects, course support, reference hardware, and the open-source Ada/SPARK libraries that come out of them. Everything public lives in this organization.

Contact

What we do

  • Capstones. Each year we publish a slate of senior-design projects (embedded, systems, tooling, FPGA). Teams pick one, fork the seed repository, and build for the year. Proposals for 2026-2027: capstones_proposals_2026-2027.
  • Course support. Educators teaching Ada/SPARK get tooling help, course material, and access to program hardware.
  • Reference hardware. Freya, an open-source Artix-7 + RP2350 FPGA dev board designed for the program, plus supported MCU boards (STM32F746G-DISCO, Nucleo-G431KB) and the NEORV32 RISC-V softcore.
  • Libraries. GHAL, a generics-based bare-metal Ada stack (stm32f746_ghal, stm32g431_ghal, ghal_examples), neorv32-hal, and assorted drivers and protocol crates, all published as Alire crates.

How capstones work

  1. Pick a proposal from the current year's list.
  2. Fork its seed repository from this organization. The seed holds the core architecture, fundamental types, and a README. Your fork is your project for the year; there are no upstream pull requests during the year.
  3. Book a kickoff meeting through the booking link.
  4. At year end, the strongest work is folded back into the seed with credit.

Ada idiom matters. Reviews check for C-style Ada (raw access types everywhere, integer soup, no contracts). SPARK is scoped: contracts on everything, SPARK_Mode on specs, full proof on each project's small kernel.

Learn Ada

Setup

Linux (Ubuntu LTS) is the tested path. Windows and macOS work.

1. Install Alire

Alire is the Ada package manager and toolchain installer.

Linux / macOS

curl --proto '=https' --tlsv1.2 -sSf https://www.getada.dev/init.sh | sh

Windows

Download and run the installer from the Alire releases page. Note the install folder it shows you (default is under C:\Program Files\alr).

The installer does not put alr on your PATH. Do it once, in PowerShell, using the folder from the previous step:

setx PATH "$env:PATH;C:\Program Files\alr\bin"

Close and reopen the terminal.

Verify:

alr --version

2. Install a toolchain

alr toolchain --select

Pick gnat_native and gprbuild. For ARM targets, run it again and pick gnat_arm_elf.

3. Program crates

Crates in the community index: alr with <crate> as usual.

Crates not yet published: depend on them straight from GitHub in your alire.toml.

[[depends-on]]
stm32f746_ghal = "*"

[[pins]]
stm32f746_ghal = { url = "https://github.com/GNAT-Academic-Program/stm32f746_ghal" }

Or from the command line:

alr with stm32f746_ghal --use=https://github.com/GNAT-Academic-Program/stm32f746_ghal

4. Editor

Install VS Code and the Ada extension:

code --install-extension AdaCore.ada

5. Embedded only

OpenOCD for flashing and debugging:

sudo apt install openocd

(macOS: brew install openocd. Windows: xPack OpenOCD.)

Smoke test

alr get --build hello
cd hello*
alr run

Popular repositories Loading

  1. stm32_blinky_demo stm32_blinky_demo Public

    Blinky Demo For STM32 (Alire)

    Ada 7

  2. neorv32-hal neorv32-hal Public

    Ada-based Hardware Abstraction Layer for the neorv32 SoC

    Ada 7 2

  3. Windows-platform Windows-platform Public

    Portable, Relocatable Microsoft Windows Development Environment with Alire, GnatStudio, VScode, Ada and Embedded Systems

    3

  4. neorv32_mercury2 neorv32_mercury2 Public

    VHDL 3 4

  5. mcu_bootloader_cli mcu_bootloader_cli Public

    This is the command line interface which interacts with the microcontroller bootloader also in the academic program

    Ada 2

  6. CEG491X CEG491X Public

    2

Repositories

Showing 10 of 107 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…