Skip to content

Commit

Permalink
Use pico runtime supplied with gnat_arm_elf crate
Browse files Browse the repository at this point in the history
Now that the pico runtimes are available in the alire supplied
gnat_arm_elf crate, we pull the ravenscar capability from there. We are
still using a fork of the pico bsp that does not conflict with
capabilities supplied in the pico runtimes in gnat_arm_elf. There is no
version of the pico bsp that doesn't supply conflicting items like
interrupts besides the fork specified here.
  • Loading branch information
dinkelk committed Jun 28, 2024
1 parent e1e56f3 commit a46891d
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 14 deletions.
11 changes: 6 additions & 5 deletions alire.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,19 @@ licenses = "Apache-2.0"
# Project file lives with the hello pico program:
project-files = ["src/pico_util/hello_pico/hello_pico.gpr"]

tags = ["embedded", "framework", "demo", "rp2040", "raspberrypi"]
tags = ["embedded", "framework", "demo", "rp2040", "raspberrypi", "arm"]
website = "https://github.com/lasp/adamant_example"

# Depend on forks of the rp2040_hal & pico_bsp that don't conflict with
# the pico runtimes provided in the gnat_arm_elf crate.
[[depends-on]]
ravenscar_full_rp2040 = "~0.2.0"
rp2040_hal = "^2.3.0"
[[pins]]
ravenscar_full_rp2040 = { url='https://github.com/dinkelk/ravenscar_full_rp2040.git', branch="pico-bsp" }

rp2040_hal = { url='https://github.com/dinkelk/rp2040_hal.git', branch="ravenscar" }
[configuration.values]
rp2040_hal.Use_Startup = false

[[depends-on]]
pico_bsp = "^2.0.0"
pico_bsp = "^2.1.0"
[[pins]]
pico_bsp = { url='https://github.com/dinkelk/pico_bsp.git', branch="ravenscar" }
3 changes: 1 addition & 2 deletions redo/targets/gpr/pico_debug.gpr
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
with "pico_bsp.gpr";
with "ravenscar_build.gpr";

project pico_debug extends all "a_bareboard_debug.gpr" is

Expand All @@ -15,7 +14,7 @@ project pico_debug extends all "a_bareboard_debug.gpr" is

-- Specify cross compiler ARM target and Ravenscar runtime:
for Target use "arm-eabi";
for Runtime ("Ada") use Ravenscar_Build'Runtime ("Ada");
for Runtime ("Ada") use "embedded-rpi-pico";
-- C++ not supported for arm-eabi currently.
for Languages use ("Ada", "C", "ASM_CPP");

Expand Down
3 changes: 1 addition & 2 deletions redo/targets/gpr/pico_development.gpr
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
with "pico_bsp.gpr";
with "ravenscar_build.gpr";

project pico_development extends all "a_bareboard_development.gpr" is

Expand All @@ -15,7 +14,7 @@ project pico_development extends all "a_bareboard_development.gpr" is

-- Specify cross compiler ARM target and Ravenscar runtime:
for Target use "arm-eabi";
for Runtime ("Ada") use Ravenscar_Build'Runtime ("Ada");
for Runtime ("Ada") use "embedded-rpi-pico";
-- C++ not supported for arm-eabi currently.
for Languages use ("Ada", "C", "ASM_CPP");

Expand Down
3 changes: 1 addition & 2 deletions redo/targets/gpr/pico_production.gpr
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
with "pico_bsp.gpr";
with "ravenscar_build.gpr";

project pico_production extends all "a_bareboard_production.gpr" is

Expand All @@ -15,7 +14,7 @@ project pico_production extends all "a_bareboard_production.gpr" is

-- Specify cross compiler ARM target and Ravenscar runtime:
for Target use "arm-eabi";
for Runtime ("Ada") use Ravenscar_Build'Runtime ("Ada");
for Runtime ("Ada") use "embedded-rpi-pico";
-- C++ not supported for arm-eabi currently.
for Languages use ("Ada", "C", "ASM_CPP");

Expand Down
2 changes: 1 addition & 1 deletion redo/targets/pico.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#
# This file contains the cross compile build targets for the
# Raspberry Pi Pico microprocessor. It utilizes the embedded-rpi-pico-smp
# Raspberry Pi Pico microprocessor. It utilizes the embedded-rpi-pico
# runtime provided in the gnat_arm_elf Alire crate.
#

Expand Down
3 changes: 1 addition & 2 deletions src/pico_util/hello_pico/hello_pico.gpr
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
with "../../../config/adamant_example_config.gpr";
with "ravenscar_build.gpr";

-- This project simply compiles a hello world to make sure the alire environment
-- for the Adamant example is functioning properly. This alire environment contains
Expand All @@ -9,7 +8,7 @@ project Hello_Pico is
-- Use the arm-eabi-elf cross compiler with a Ravenscar tasking
-- runtime.
for Target use "arm-eabi";
for Runtime ("Ada") use Ravenscar_Build'Runtime ("Ada");
for Runtime ("Ada") use "embedded-rpi-pico";

-- Add the Raspberry Pi Pico hello world as source file.
for Source_Dirs use (".", "../../../config/");
Expand Down

0 comments on commit a46891d

Please sign in to comment.