community-bb-runtimes 15.2.0 (#1822)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
name = "embedded_nrf52832"
|
||||
description = "embedded runtime for the NRF52832 SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_nrf52832` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_nrf52832 = "*"
|
||||
```
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project file. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "$(runtime_proj_prefix)_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use $(runtime_proj_prefix)_build'Target;
|
||||
for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada");
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_gpr = false
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" }
|
||||
LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" }
|
||||
Use_SWO_Trace = { type = "Boolean", default = true }
|
||||
Use_Reset_Pin = { type = "Boolean", default = true }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:ba4945f04eedf0edb46e7d70b2832bde3f7a9b8b7c3eaad2e1ab951bad889e23",
|
||||
"sha512:71bc763b8fb20c83319982b46d3bd8243fb7044e5d1c18020643064792ed5cf41909a2fb69dd73c17c6da958958cad8bf9348b8485548dc1fa26b63bb7547992",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52832-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
name = "embedded_nrf52833"
|
||||
description = "embedded runtime for the NRF52833 SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_nrf52833` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_nrf52833 = "*"
|
||||
```
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project file. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "$(runtime_proj_prefix)_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use $(runtime_proj_prefix)_build'Target;
|
||||
for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada");
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_gpr = false
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" }
|
||||
LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" }
|
||||
Use_SWO_Trace = { type = "Boolean", default = true }
|
||||
Use_Reset_Pin = { type = "Boolean", default = true }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:9434a835c1c8770c75ade371824bc792390c561aba1904dc5e9c213fafb3baf4",
|
||||
"sha512:39575b8e2ef68e24be5caf1f9d1741eaa81213812a9b5b5ae6227c61ff0ebda676610e1cf4f444613d250acc75f186ca4ef30e77d8864e59ab78fb9e5e98590c",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52833-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
name = "embedded_nrf52840"
|
||||
description = "embedded runtime for the NRF52840 SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_nrf52840` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_nrf52840 = "*"
|
||||
```
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project file. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "$(runtime_proj_prefix)_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use $(runtime_proj_prefix)_build'Target;
|
||||
for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada");
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_gpr = false
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" }
|
||||
LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" }
|
||||
Use_SWO_Trace = { type = "Boolean", default = true }
|
||||
Use_Reset_Pin = { type = "Boolean", default = true }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:f69f974b700e8a67570c5183adeef9bcfe0ee5b9bce56c74a5d9df8b2c755bc1",
|
||||
"sha512:6d3d4cc7db84ab1519f79d045a4dfbdb04616867c93e4fe10d2e4765faee7cfff818f3b94fba9c2fdbe957acad780410667473405f08bc08698c8d3c8ea94159",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52840-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
name = "embedded_rp2040"
|
||||
description = "embedded runtime for the RP2040 SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_rp2040` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_rp2040 = "*"
|
||||
```
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project files. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "runtime_build.gpr";
|
||||
with "ravenscar_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use runtime_build'Target;
|
||||
for Runtime ("Ada") use runtime_build'Runtime ("Ada");
|
||||
```
|
||||
- specify the `Linker` switches:
|
||||
```ada
|
||||
package Linker is
|
||||
for Switches ("Ada") use Runtime_Build.Linker_Switches & ("-Wl,--gc-sections");
|
||||
end Linker;
|
||||
```
|
||||
Note that `--gc-switches` is recommended as it reduces flash and RAM usage
|
||||
by removing unused code and data, but it is not mandatory.
|
||||
|
||||
See the project website for details on configuring the runtime.
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
|
||||
# Configures how many of the two cores the runtime uses
|
||||
Max_CPUs = { type = "Integer", first = 1, last = 2, default = 2 }
|
||||
|
||||
# Configures which ALARM the runtime uses to implement the semantics of
|
||||
# Ada.Real_Time
|
||||
Time_Base = { type = "Enum", values = ["ALARM0", "ALARM1", "ALARM2", "ALARM3"], default = "ALARM3" }
|
||||
|
||||
# Configures the runtime for a specific board.
|
||||
# For "generic" boards, the board characteristics (flash chip, XOSC frequency)
|
||||
# can be configured manually.
|
||||
Board = { type = "Enum", values = [ "generic_board", "rpi_pico", "adafruit_feather_rp2040", "adafruit_itsybitsy_rp2040", "adafruit_macropad_rp2040", "adafruit_qt2040_trinkey", "adafruit_qtpy_rp2040", "arduino_nano_rp2040_connect", "pimoroni_interstate75", "pimoroni_keybow2040", "pimoroni_pga2040", "pimoroni_picolipo_4m", "pimoroni_picolipo_16m", "pimoroni_picosystem", "pimoroni_plasma2040", "pimoroni_tiny2040", "sparkfun_micromod", "sparkfun_promicro", "sparkfun_thingplus" ], default = "rpi_pico" }
|
||||
|
||||
# These configure the board parameters for when Board is "generic_board".
|
||||
# These are ignored when Board is not "generic_board".
|
||||
XOSC_Frequency = { type = "Integer", first = 0, default = 12000000 }
|
||||
XOSC_Startup_Delay_Mult = { type = "Integer", first = 1, last = 16383, default = 64 }
|
||||
Flash_Chip = { type = "Enum", values = [ "generic_qspi_128", "at25sf128a", "gd25q64c", "w25q16jv", "w25q32jv", "w25q64jv", "w25q128jv"], default = "generic_qspi_128" }
|
||||
|
||||
# Clock configuration
|
||||
PLL_Sys_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 }
|
||||
PLL_Sys_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 125 }
|
||||
PLL_Sys_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 6 }
|
||||
PLL_Sys_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 }
|
||||
PLL_USB_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 }
|
||||
PLL_USB_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 40 }
|
||||
PLL_USB_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 }
|
||||
PLL_USB_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 }
|
||||
|
||||
Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 }
|
||||
Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:ad91fa6680319b278464c34c73b93aa09af9b4a376c788840ebb1386b271f86d",
|
||||
"sha512:ab9a74aeddd29a25077c8c6d0637d9485b4bbd517bcb55e138bbda3b6131df8d688e8f600db9c86b5e73b59b9dd2f56c350d6ba74178ec281765eff36aaffbed",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-rp2040-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
name = "embedded_rp2350"
|
||||
description = "embedded runtime for the RP2350 SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_rp2350` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_rp2350 = "*"
|
||||
```
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project files. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "runtime_build.gpr";
|
||||
with "ravenscar_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use runtime_build'Target;
|
||||
for Runtime ("Ada") use runtime_build'Runtime ("Ada");
|
||||
```
|
||||
- specify the `Linker` switches:
|
||||
```ada
|
||||
package Linker is
|
||||
for Switches ("Ada") use Runtime_Build.Linker_Switches & ("-Wl,--gc-sections");
|
||||
end Linker;
|
||||
```
|
||||
Note that `--gc-switches` is recommended as it reduces flash and RAM usage
|
||||
by removing unused code and data, but it is not mandatory.
|
||||
|
||||
See the project website for details on configuring the runtime.
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
|
||||
# Configures how many of the two cores the runtime uses
|
||||
Max_CPUs = { type = "Integer", first = 1, last = 2, default = 2 }
|
||||
|
||||
# Configures the Arm security level that the partition will run at (Secure or Non-Secure)
|
||||
Security_Level = { type = "Enum", values = [ "Secure", "Non_Secure" ], default = "Secure" }
|
||||
|
||||
# Configures which ALARM the runtime uses to implement the semantics of
|
||||
# Ada.Real_Time
|
||||
Time_Base_Timer = { type = "Enum", values = [ "TIMER0", "TIMER1" ], default = "TIMER0" }
|
||||
Time_Base_Alarm = { type = "Enum", values = [ "ALARM0", "ALARM1", "ALARM2", "ALARM3" ], default = "ALARM3" }
|
||||
|
||||
# Configures the runtime for a specific board.
|
||||
# For "generic" boards, the board characteristics (flash chip, XOSC frequency)
|
||||
# can be configured manually.
|
||||
Board = { type = "Enum", values = [ "generic_board", "rpi_pico2", "pimoroni_pico_lipo_2_xl_w", "pimoroni_pico_plus_2", "pimoroni_plasma_2350", "pimoroni_tiny_2350", "pimoroni_rp2350_stamp_xl", "pimoroni_rp2350_stamp", "pimoroni_pga2350", "adafruit_feather_rp2350", "adafruit_metro_rp2350", "adafruit_fruit_jam" ], default = "rpi_pico2" }
|
||||
|
||||
# These configure the board parameters for when Board is "generic_board".
|
||||
# These are ignored when Board is not "generic_board".
|
||||
XOSC_Frequency = { type = "Integer", first = 0, default = 12000000 }
|
||||
XOSC_Startup_Delay_Mult = { type = "Integer", first = 1, last = 16383, default = 64 }
|
||||
Flash_Size = { type = "Integer", first = 2, last = 16, default = 2 }
|
||||
|
||||
# Clock configuration
|
||||
PLL_Sys_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 }
|
||||
PLL_Sys_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 125 }
|
||||
PLL_Sys_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 }
|
||||
PLL_Sys_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 }
|
||||
PLL_USB_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 }
|
||||
PLL_USB_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 40 }
|
||||
PLL_USB_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 }
|
||||
PLL_USB_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 }
|
||||
|
||||
Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 }
|
||||
Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:304aa2514c6597ee03424322fd151d0521d667212b6fa6a6f4d0f938828bee88",
|
||||
"sha512:bbc0279b48e3489c5497c6ab2c7ae7bca50624845f689a5d165159042d1f3d4a250aa349dbed67247f6e3c19afce9cebc228d353bb39da71e3f898d81d9b4a2c",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-rp2350-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
name = "embedded_stm32f0xx"
|
||||
description = "embedded runtime for the STM32F0XX SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_stm32f0xx` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_stm32f0xx = "*"
|
||||
```
|
||||
- if applicable, apply any runtime configuration variables (see below).
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project files. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "runtime_build.gpr";
|
||||
with "ravenscar_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use runtime_build'Target;
|
||||
for Runtime ("Ada") use runtime_build'Runtime ("Ada");
|
||||
```
|
||||
- specify the `Linker` switches:
|
||||
```ada
|
||||
package Linker is
|
||||
for Switches ("Ada") use Runtime_Build.Linker_Switches;
|
||||
end Linker;
|
||||
```
|
||||
|
||||
The runtime is configurable via Alire crate configuration variables.
|
||||
See the project website for full details of the available options.
|
||||
|
||||
By default, the runtime is configured for the STM32F072RB. If your board has
|
||||
a different MCU, then you will need to specify which MCU you are using via
|
||||
the crate configuration. For example, to configure the runtime for the
|
||||
STM32F030F4, add the following to your `alire.toml`:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32f0xx.MCU_Sub_Family = "F030"
|
||||
embedded_stm32f0xx.MCU_Pin_Count = "F"
|
||||
embedded_stm32f0xx.MCU_User_Code_Memory_Size = "4"
|
||||
```
|
||||
|
||||
By default, the runtime configures the clock tree for a 48 MHz system clock
|
||||
from the high-speed internal (HSI) oscillator. If you want a different clock
|
||||
configuration, then use the crate configuration variables to specify the
|
||||
configuration you wish to use. For example, to configure the runtime to
|
||||
generate a 32 MHz system clock from a 16 MHz HSE crystal oscillator:
|
||||
```toml
|
||||
[configuration.values]
|
||||
# Configure a 16 MHz HSE crystal oscillator
|
||||
embedded_stm32f0xx.HSE_Clock_Frequency = 16000000
|
||||
embedded_stm32f0xx.HSE_Bypass = false
|
||||
|
||||
# Use the PLL as the SYSCLK source
|
||||
embedded_stm32f0xx.SYSCLK_Src = "PLL"
|
||||
|
||||
# Configure the PLL input for a 16 MHz input from the HSE
|
||||
embedded_stm32f0xx.PLL_Src = "HSE_PREDIV"
|
||||
embedded_stm32f0xx.PREDIV = 1
|
||||
|
||||
# Configure the PLL to output 32 MHz (16 MHz * 2)
|
||||
embedded_stm32f0xx.PLLMUL = 2
|
||||
|
||||
# Configure the AHB an APB to also run at 32 MHz
|
||||
embedded_stm32f0xx.AHB_Pre = "DIV1"
|
||||
embedded_stm32f0xx.APB_Pre = "DIV1"
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime", "stm32f0"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
MCU_Sub_Family = { type = "Enum", values = ["F030", "F031", "F038", "F042", "F048", "F051", "F058", "F070", "F071", "F072", "F078", "F091", "F098"], default = "F072" }
|
||||
MCU_Pin_Count = { type = "Enum", values = ["C", "E", "F", "G", "K", "R", "V"], default = "R" }
|
||||
MCU_User_Code_Memory_Size = { type = "String", default = "B" }
|
||||
|
||||
LSI_Enabled = { type = "Boolean", default = true }
|
||||
HSE_Bypass = { type = "Boolean", default = false }
|
||||
HSE_Clock_Frequency = { type = "Integer", first = 1, last = 32000000, default = 8000000 }
|
||||
SYSCLK_Src = { type = "Enum", values = ["HSI", "HSE", "PLL", "HSI48"], default = "PLL" }
|
||||
PLL_Src = { type = "Enum", values = ["HSI_2", "HSI_PREDIV", "HSE_PREDIV", "HSI48_PREDIV"], default = "HSI_2"}
|
||||
PREDIV = { type = "Integer", first = 1, last = 16, default = 2 }
|
||||
PLLMUL = { type = "Integer", first = 2, last = 16, default = 12 }
|
||||
AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" }
|
||||
APB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV2" }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:c9ca8d604a675862f53855ebbf5283c779f6593a73e789feb269343a2e075241",
|
||||
"sha512:6d3d9accb3696f832d2569a06184dbf2affeaa56eca5b6aa55348c0701b30102a180da057fbacf29477964d2fc35a9893d0021469d86864ca102abf3fa7112fb",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32f0xx-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
name = "embedded_stm32g0xx"
|
||||
description = "embedded runtime for the STM32G0XX SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_stm32g0xx` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_stm32g0xx = "*"
|
||||
```
|
||||
- if applicable, apply any runtime configuration variables (see below).
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project files. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "runtime_build.gpr";
|
||||
with "ravenscar_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use runtime_build'Target;
|
||||
for Runtime ("Ada") use runtime_build'Runtime ("Ada");
|
||||
```
|
||||
- specify the `Linker` switches:
|
||||
```ada
|
||||
package Linker is
|
||||
for Switches ("Ada") use Runtime_Build.Linker_Switches;
|
||||
end Linker;
|
||||
```
|
||||
|
||||
The runtime is configurable via Alire crate configuration variables.
|
||||
See the project website for full details of the available options.
|
||||
|
||||
By default, the runtime is configured for the STM32G0B1RE. If your board has
|
||||
a different MCU, then you will need to specify which MCU you are using via
|
||||
the crate configuration. For example, to configure the runtime for the
|
||||
STM32G031J4, add the following to your `alire.toml`:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g0xx.MCU_Sub_Family = "G031"
|
||||
embedded_stm32g0xx.MCU_Flash_Memory_Size = "4"
|
||||
```
|
||||
|
||||
By default, the runtime configures the clock tree for a 64 MHz system clock
|
||||
from the high-speed internal (HSI) oscillator. If you want a different clock
|
||||
configuration, then use the crate configuration variables to specify the
|
||||
configuration you wish to use. For example, to configure the runtime to
|
||||
generate a 64 MHz system clock from a 24 MHz HSE crystal oscillator:
|
||||
```toml
|
||||
[configuration.values]
|
||||
# Configure a 24 MHz HSE crystal oscillator
|
||||
light_tasking_stm32g0xx.HSE_Clock_Frequency = 24000000
|
||||
light_tasking_stm32g0xx.HSE_Bypass = false
|
||||
|
||||
# Select PLLRCLK as the SYSCLK source
|
||||
light_tasking_stm32g0xx.SYSCLK_Src = "PLLRCLK"
|
||||
|
||||
# Configure the PLL VCO to run at 128 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M))
|
||||
light_tasking_stm32g0xx.PLL_Src = "HSE"
|
||||
light_tasking_stm32g0xx.PLL_N_Mul = 10
|
||||
light_tasking_stm32g0xx.PLL_M_Div = 2
|
||||
|
||||
# Configure the PLLRCLK to run at 64 MHz from the 128 MHz VCO.
|
||||
light_tasking_stm32g0xx.PLL_R_Div = 2
|
||||
|
||||
# Configure the AHB an APB to also run at 64 MHz
|
||||
light_tasking_stm32g0xx.AHB_Pre = "DIV1"
|
||||
light_tasking_stm32g0xx.APB_Pre = "DIV1"
|
||||
```
|
||||
|
||||
The runtime will generate a compile time error when an invalid PLL configuration
|
||||
is set.
|
||||
|
||||
By default the PLL's Q and P clocks are enabled. If you don't need them, then you
|
||||
can disable them via the crate configuration:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g0xx.PLL_Q_Enable = false
|
||||
embedded_stm32g0xx.PLL_P_Enable = false
|
||||
```
|
||||
|
||||
The runtime will enable the PLL only when either `PLL_Q_Enable` or `PLL_P_Enable`
|
||||
is `true`, or when `SYSCLK_Src = "PLLRCLK"`.
|
||||
|
||||
The interrupt stack sizes are also configurable:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g0xx.Interrupt_Stack_Size = 1024
|
||||
embedded_stm32g0xx.Interrupt_Secondary_Stack_Size = 128
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime", "stm32g0"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
MCU_Sub_Family = { type = "Enum", values = ["G030", "G031", "G041", "G050", "G051", "G061", "G070", "G071", "G081", "G0B0", "G0B1", "G0C1"], default = "G0B1" }
|
||||
MCU_Flash_Memory_Size = { type = "String", default = "B" }
|
||||
|
||||
RAM_Parity_Check = { type = "Enum", values = ["Disabled", "Enabled"], default = "Disabled" }
|
||||
|
||||
LSI_Enabled = { type = "Boolean", default = true }
|
||||
LSE_Enabled = { type = "Boolean", default = false }
|
||||
LSE_Bypass = { type = "Boolean", default = false }
|
||||
HSE_Bypass = { type = "Boolean", default = false }
|
||||
HSE_Clock_Frequency = { type = "Integer", first = 1, last = 48000000, default = 8000000 }
|
||||
PLL_Src = { type = "Enum", values = ["HSE", "HSI16"], default = "HSI16" }
|
||||
PLL_M_Div = { type = "Integer", first = 1, last = 8, default = 2 }
|
||||
PLL_N_Mul = { type = "Integer", first = 8, last = 86, default = 16 }
|
||||
PLL_R_Div = { type = "Integer", first = 2, last = 8, default = 2 }
|
||||
PLL_Q_Div = { type = "Integer", first = 2, last = 8, default = 2 }
|
||||
PLL_P_Div = { type = "Integer", first = 2, last = 32, default = 2 }
|
||||
PLL_Q_Enable = { type = "Boolean", default = true }
|
||||
PLL_P_Enable = { type = "Boolean", default = true }
|
||||
HSI_Div = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV32", "DIV64", "DIV128"], default = "DIV1" }
|
||||
SYSCLK_Src = { type = "Enum", values = ["LSE", "LSI", "HSE", "PLLRCLK", "HSISYS"], default = "PLLRCLK" }
|
||||
AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" }
|
||||
APB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" }
|
||||
|
||||
Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 }
|
||||
Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:f50859913cb39f9a72dd695948eec66cc5d652b60bccffe04214e9f6bf7c5392",
|
||||
"sha512:9b4760a3399a10850fbf4ba35e8b1b31872e8e3718b4f61eb5dd5cfe22c0315cce5bad7c7d3d3c44ff0a1b12126548f142e2c31f6fb8207904e36347d3a7c9a5",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32g0xx-15.2.0.tar.gz"
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
name = "embedded_stm32g4xx"
|
||||
description = "embedded runtime for the STM32G4XX SoC"
|
||||
version = "15.2.0"
|
||||
|
||||
long-description = """
|
||||
## Usage
|
||||
|
||||
First edit your `alire.toml` file and add the following elements:
|
||||
- Add `embedded_stm32g4xx` in the dependency list:
|
||||
```toml
|
||||
[[depends-on]]
|
||||
embedded_stm32g4xx = "*"
|
||||
```
|
||||
- if applicable, apply any runtime configuration variables (see below).
|
||||
|
||||
Then edit your project file to add the following elements:
|
||||
- "with" the run-time project files. With this, gprbuild will compile the run-time before your application
|
||||
```ada
|
||||
with "runtime_build.gpr";
|
||||
with "ravenscar_build.gpr";
|
||||
```
|
||||
- Specify the `Target` and `Runtime` attributes:
|
||||
```ada
|
||||
for Target use runtime_build'Target;
|
||||
for Runtime ("Ada") use runtime_build'Runtime ("Ada");
|
||||
```
|
||||
- specify the `Linker` switches:
|
||||
```ada
|
||||
package Linker is
|
||||
for Switches ("Ada") use Runtime_Build.Linker_Switches;
|
||||
end Linker;
|
||||
```
|
||||
|
||||
The runtime is configurable via Alire crate configuration variables.
|
||||
See the project website for full details of the available options.
|
||||
|
||||
By default, the runtime is configured for the STM32G474RE. If you are using
|
||||
a different MCU, then you will need to configure the runtime by adding the
|
||||
following to your `alire.toml`. For example, to configure the runtime for the
|
||||
STM32G431K6:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g4xx.MCU_Sub_Family = "G431"
|
||||
embedded_stm32g4xx.MCU_Flash_Memory_Size = "6"
|
||||
```
|
||||
|
||||
By default, the runtime configures the clock tree for a 170 MHz system clock
|
||||
from the high-speed internal (HSI) oscillator. If you want a different clock
|
||||
configuration, then use the crate configuration variables to specify the
|
||||
configuration you wish to use. For example, to configure the runtime to
|
||||
generate a 170 MHz system clock from a 24 MHz HSE crystal oscillator:
|
||||
```toml
|
||||
[configuration.values]
|
||||
# Configure a 24 MHz HSE crystal oscillator
|
||||
embedded_stm32g4xx.HSE_Clock_Frequency = 24000000
|
||||
embedded_stm32g4xx.HSE_Bypass = false
|
||||
|
||||
# Select PLLRCLK as the SYSCLK source
|
||||
embedded_stm32g4xx.SYSCLK_Src = "PLLRCLK"
|
||||
|
||||
# Configure the PLL VCO to run at 340 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M))
|
||||
embedded_stm32g4xx.PLL_Src = "HSE"
|
||||
embedded_stm32g4xx.PLL_N_Mul = 85
|
||||
embedded_stm32g4xx.PLL_M_Div = 6
|
||||
|
||||
# Configure the PLLRCLK to run at 170 MHz from the 340 MHz VCO.
|
||||
embedded_stm32g4xx.PLL_R_Div = 2
|
||||
|
||||
# Configure the AHB and APB to also run at 170 MHz
|
||||
embedded_stm32g4xx.AHB_Pre = "DIV1"
|
||||
embedded_stm32g4xx.APB1_Pre = "DIV1"
|
||||
embedded_stm32g4xx.APB2_Pre = "DIV1"
|
||||
```
|
||||
|
||||
The runtime will generate a compile time error when an invalid PLL configuration
|
||||
is set.
|
||||
|
||||
By default the PLL's Q and P clocks are enabled. If you don't need them, then you
|
||||
can disable them via the crate configuration:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g4xx.PLL_Q_Enable = false
|
||||
embedded_stm32g4xx.PLL_P_Enable = false
|
||||
```
|
||||
|
||||
The runtime will enable the PLL only when either `PLL_Q_Enable` or `PLL_P_Enable`
|
||||
is `true`, or when `SYSCLK_Src = "PLLRCLK"`.
|
||||
|
||||
The interrupt stack sizes are also configurable:
|
||||
```toml
|
||||
[configuration.values]
|
||||
embedded_stm32g4xx.Interrupt_Stack_Size = 1024
|
||||
embedded_stm32g4xx.Interrupt_Secondary_Stack_Size = 128
|
||||
```
|
||||
"""
|
||||
|
||||
authors = ["AdaCore", "Daniel King"]
|
||||
maintainers = ["Daniel King <damaki.gh@gmail.com>"]
|
||||
maintainers-logins = ["damaki"]
|
||||
licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
|
||||
tags = ["embedded", "runtime", "stm32g4"]
|
||||
website = "https://github.com/damaki/community-bb-runtimes"
|
||||
|
||||
project-files = ['runtime_build.gpr', 'ravenscar_build.gpr']
|
||||
|
||||
[configuration]
|
||||
generate_c = false
|
||||
output_dir = "gnat_user"
|
||||
|
||||
[configuration.variables]
|
||||
MCU_Sub_Family = { type = "Enum", values = ["G431", "G441", "G491", "G4A1", "G473", "G483", "G474", "G484"], default = "G474" }
|
||||
MCU_Flash_Memory_Size = { type = "String", default = "E" }
|
||||
|
||||
LSI_Enabled = { type = "Boolean", default = true }
|
||||
LSE_Enabled = { type = "Boolean", default = false }
|
||||
LSE_Bypass = { type = "Boolean", default = false }
|
||||
HSE_Bypass = { type = "Boolean", default = false }
|
||||
HSE_Clock_Frequency = { type = "Integer", first = 4000000, last = 48000000, default = 24000000 }
|
||||
PLL_Src = { type = "Enum", values = ["HSE", "HSI16"], default = "HSI16" }
|
||||
PLL_M_Div = { type = "Integer", first = 1, last = 16, default = 4 }
|
||||
PLL_N_Mul = { type = "Integer", first = 8, last = 127, default = 85 }
|
||||
PLL_R_Div = { type = "Enum", values = ["DIV2", "DIV4", "DIV6", "DIV8"], default = "DIV2" }
|
||||
PLL_Q_Div = { type = "Enum", values = ["DIV2", "DIV4", "DIV6", "DIV8"], default = "DIV2" }
|
||||
PLL_P_Div = { type = "Integer", first = 2, last = 31, default = 2 }
|
||||
PLL_Q_Enable = { type = "Boolean", default = true }
|
||||
PLL_P_Enable = { type = "Boolean", default = true }
|
||||
SYSCLK_Src = { type = "Enum", values = ["HSI16", "HSE", "PLLRCLK"], default = "PLLRCLK" }
|
||||
AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" }
|
||||
APB1_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" }
|
||||
APB2_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" }
|
||||
|
||||
Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 }
|
||||
Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 }
|
||||
|
||||
[[depends-on]]
|
||||
gnat_arm_elf = "^15"
|
||||
|
||||
[origin]
|
||||
hashes = [
|
||||
"sha256:7581b638c41768de2fab6f9053896868bd20b6d8bdb13c91cb9e97b4a3631302",
|
||||
"sha512:6422e88ea0dbe45262d9757f5ab9fd8f0afa1ea5739aad23392add056c26db1580f2dfa144b01c8a5588aac08047aa497335d2d23644e55227e54ebadc450dcc",
|
||||
]
|
||||
url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32g4xx-15.2.0.tar.gz"
|
||||
|
||||
Reference in New Issue
Block a user