From 75537c14bba78102ae3a045a2cfeaa219abef768 Mon Sep 17 00:00:00 2001 From: Daniel King Date: Mon, 11 May 2026 11:34:46 +0100 Subject: [PATCH] community-bb-runtimes 15.4.0 (#1908) --- .../embedded_nrf52832-15.4.0.toml | 59 +++++++ .../embedded_nrf52833-15.4.0.toml | 59 +++++++ .../embedded_nrf52840-15.4.0.toml | 59 +++++++ .../embedded_nrf54l_app-15.4.0.toml | 73 +++++++++ .../embedded_rp2040-15.4.0.toml | 92 +++++++++++ .../embedded_rp2350-15.4.0.toml | 96 ++++++++++++ .../embedded_stm32f0xx-15.4.0.toml | 115 ++++++++++++++ .../embedded_stm32g0xx-15.4.0.toml | 145 ++++++++++++++++++ .../embedded_stm32g4xx-15.4.0.toml | 144 +++++++++++++++++ .../light_nrf52832/light_nrf52832-15.4.0.toml | 59 +++++++ .../light_nrf52833/light_nrf52833-15.4.0.toml | 59 +++++++ .../light_nrf52840/light_nrf52840-15.4.0.toml | 59 +++++++ .../light_nrf54l_app-15.4.0.toml | 72 +++++++++ .../li/light_rp2040/light_rp2040-15.4.0.toml | 91 +++++++++++ .../li/light_rp2350/light_rp2350-15.4.0.toml | 95 ++++++++++++ .../light_stm32f0xx-15.4.0.toml | 114 ++++++++++++++ .../light_stm32g0xx-15.4.0.toml | 144 +++++++++++++++++ .../light_stm32g4xx-15.4.0.toml | 143 +++++++++++++++++ .../light_tasking_nrf52832-15.4.0.toml | 59 +++++++ .../light_tasking_nrf52833-15.4.0.toml | 59 +++++++ .../light_tasking_nrf52840-15.4.0.toml | 59 +++++++ .../light_tasking_nrf54l_app-15.4.0.toml | 73 +++++++++ .../light_tasking_rp2040-15.4.0.toml | 92 +++++++++++ .../light_tasking_rp2350-15.4.0.toml | 96 ++++++++++++ .../light_tasking_stm32f0xx-15.4.0.toml | 115 ++++++++++++++ .../light_tasking_stm32g0xx-15.4.0.toml | 145 ++++++++++++++++++ .../light_tasking_stm32g4xx-15.4.0.toml | 144 +++++++++++++++++ 27 files changed, 2520 insertions(+) create mode 100644 index/em/embedded_nrf52832/embedded_nrf52832-15.4.0.toml create mode 100644 index/em/embedded_nrf52833/embedded_nrf52833-15.4.0.toml create mode 100644 index/em/embedded_nrf52840/embedded_nrf52840-15.4.0.toml create mode 100644 index/em/embedded_nrf54l_app/embedded_nrf54l_app-15.4.0.toml create mode 100644 index/em/embedded_rp2040/embedded_rp2040-15.4.0.toml create mode 100644 index/em/embedded_rp2350/embedded_rp2350-15.4.0.toml create mode 100644 index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.4.0.toml create mode 100644 index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.4.0.toml create mode 100644 index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.4.0.toml create mode 100644 index/li/light_nrf52832/light_nrf52832-15.4.0.toml create mode 100644 index/li/light_nrf52833/light_nrf52833-15.4.0.toml create mode 100644 index/li/light_nrf52840/light_nrf52840-15.4.0.toml create mode 100644 index/li/light_nrf54l_app/light_nrf54l_app-15.4.0.toml create mode 100644 index/li/light_rp2040/light_rp2040-15.4.0.toml create mode 100644 index/li/light_rp2350/light_rp2350-15.4.0.toml create mode 100644 index/li/light_stm32f0xx/light_stm32f0xx-15.4.0.toml create mode 100644 index/li/light_stm32g0xx/light_stm32g0xx-15.4.0.toml create mode 100644 index/li/light_stm32g4xx/light_stm32g4xx-15.4.0.toml create mode 100644 index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.4.0.toml create mode 100644 index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.4.0.toml create mode 100644 index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.4.0.toml create mode 100644 index/li/light_tasking_nrf54l_app/light_tasking_nrf54l_app-15.4.0.toml create mode 100644 index/li/light_tasking_rp2040/light_tasking_rp2040-15.4.0.toml create mode 100644 index/li/light_tasking_rp2350/light_tasking_rp2350-15.4.0.toml create mode 100644 index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.4.0.toml create mode 100644 index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.4.0.toml create mode 100644 index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.4.0.toml diff --git a/index/em/embedded_nrf52832/embedded_nrf52832-15.4.0.toml b/index/em/embedded_nrf52832/embedded_nrf52832-15.4.0.toml new file mode 100644 index 00000000..f29628cd --- /dev/null +++ b/index/em/embedded_nrf52832/embedded_nrf52832-15.4.0.toml @@ -0,0 +1,59 @@ +name = "embedded_nrf52832" +description = "embedded runtime for the NRF52832 SoC" +version = "15.4.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 "] +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 } + +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:83c2fb73dc72afd36500d84afb9948d02b0b04f8816477b46c47e181082efca9", +"sha512:61afce85625961f6c36c1a3f459a71bb40cc26c57b07020de7600a5aa4c96caf141fdd37bddf9948321e14cbb9f59d0223e98c460e62e894aa4d422d4b150f4e", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-nrf52832-15.4.0.tar.gz" + diff --git a/index/em/embedded_nrf52833/embedded_nrf52833-15.4.0.toml b/index/em/embedded_nrf52833/embedded_nrf52833-15.4.0.toml new file mode 100644 index 00000000..ad710942 --- /dev/null +++ b/index/em/embedded_nrf52833/embedded_nrf52833-15.4.0.toml @@ -0,0 +1,59 @@ +name = "embedded_nrf52833" +description = "embedded runtime for the NRF52833 SoC" +version = "15.4.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 "] +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 } + +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:3c34302871b00649cfd07a37f077403d01999abce16b81c0de6939294dd2faec", +"sha512:949a741f02af53565e003bd3ff3c9cdcb3e805646c0224c50b8833a1e9aa0f0d049ecd523b4cf973749f5ad92fbc62ee5346d851a0e1726b00d8a817e0d1d233", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-nrf52833-15.4.0.tar.gz" + diff --git a/index/em/embedded_nrf52840/embedded_nrf52840-15.4.0.toml b/index/em/embedded_nrf52840/embedded_nrf52840-15.4.0.toml new file mode 100644 index 00000000..1b9dc266 --- /dev/null +++ b/index/em/embedded_nrf52840/embedded_nrf52840-15.4.0.toml @@ -0,0 +1,59 @@ +name = "embedded_nrf52840" +description = "embedded runtime for the NRF52840 SoC" +version = "15.4.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 "] +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 } + +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:3ed9d5d5a9964673ac0978c72ca333213a07f3e7efc4bd3f8d0d5561da2af31b", +"sha512:4b40f1494f779111293dfdcb0d257ebc7d21c8723d4a14c5b1ecf510b62fcbf503c341e1d97254a31f5eda1b4f09829ca79cabe270fb335270c1752c6cb793f6", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-nrf52840-15.4.0.tar.gz" + diff --git a/index/em/embedded_nrf54l_app/embedded_nrf54l_app-15.4.0.toml b/index/em/embedded_nrf54l_app/embedded_nrf54l_app-15.4.0.toml new file mode 100644 index 00000000..b8bf29e5 --- /dev/null +++ b/index/em/embedded_nrf54l_app/embedded_nrf54l_app-15.4.0.toml @@ -0,0 +1,73 @@ +name = "embedded_nrf54l_app" +description = "embedded runtime for the nRF54L series" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_nrf54l_app` in the dependency list: + ```toml + [[depends-on]] + embedded_nrf54l_app = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project files: + ```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 the linker switch `-Wl,--gc-sections` is optional, but its use is +recommended since it reduces the final size of the executable by removing +unused code. +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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] +Device = { type = "Enum", values = ["nRF54L05", "nRF54L10", "nRF54L15", "nRF54LS05A", "nRF54LS05B", "nRF54LV10A", "nRF54LM20A", "nRF54LM20B"], default = "nRF54L15" } +MCU_Domain_Speed = { type = "Enum", values = ["CK64M", "CK128M"], default = "CK64M" } +Time_Base_GRTC_IRQ = { type = "Integer", first = 0, last = 3, default = 3 } +Time_Base_GRTC_CCn = { type = "Integer", first = 0, last = 11, default = 11} +Security_Level = { type = "Enum", values = [ "Secure", "Non_Secure" ], default = "Secure" } +LFCLK_Src = { type = "Enum", values = ["LFXO", "LFRC", "LFSYNT"], default = "LFXO" } +Enable_SWO = { type = "Boolean", default = true } +Enable_Trace = { type = "Boolean", default = false } +Enable_Glitch_Detector = { type = "Boolean", default = true } + +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:ae83d53d7660d5a6fe9be95d60979a8e78b882cdf107a63a4814dbbcbd390232", +"sha512:fc1030019943bc23ca897dd10927b5963d8dc98447aa50c26e870201e0e14803a85b5a8047d84df80b01fed2aedd648d4d1216cd7cc1fda95f5ada94d3735bd8", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-nrf54l_app-15.4.0.tar.gz" + diff --git a/index/em/embedded_rp2040/embedded_rp2040-15.4.0.toml b/index/em/embedded_rp2040/embedded_rp2040-15.4.0.toml new file mode 100644 index 00000000..07ecc2ce --- /dev/null +++ b/index/em/embedded_rp2040/embedded_rp2040-15.4.0.toml @@ -0,0 +1,92 @@ +name = "embedded_rp2040" +description = "embedded runtime for the RP2040 SoC" +version = "15.4.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 "] +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:191471815a0470a4e6310e7549c19f4c8a26fffbe61c8c5f39b6d52f53ed2338", +"sha512:92c3475040ba85514e2b519a028cce72f743158752f50ba9b95465201492b6ea8ae3fa7cf721bfb8893b8655de2cb0f60fb76ff63de5d5982cbbdaac4650b8fe", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-rp2040-15.4.0.tar.gz" + diff --git a/index/em/embedded_rp2350/embedded_rp2350-15.4.0.toml b/index/em/embedded_rp2350/embedded_rp2350-15.4.0.toml new file mode 100644 index 00000000..23c9a024 --- /dev/null +++ b/index/em/embedded_rp2350/embedded_rp2350-15.4.0.toml @@ -0,0 +1,96 @@ +name = "embedded_rp2350" +description = "embedded runtime for the RP2350 SoC" +version = "15.4.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 "] +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:68793f131710b9ed067da02d704dd8e8fda0c3c1a8da3b9d9fef0015be8f5fc5", +"sha512:6efd40eac8e71868712e20564328c280d5a3f6ee49143c8661026bb801f00f8c93a5c515bab7356639bb02d7931c8fb66e7190aa4efa8e17072b24f72620667d", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-rp2350-15.4.0.tar.gz" + diff --git a/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.4.0.toml b/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.4.0.toml new file mode 100644 index 00000000..2580cc34 --- /dev/null +++ b/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.4.0.toml @@ -0,0 +1,115 @@ +name = "embedded_stm32f0xx" +description = "embedded runtime for the STM32F0XX SoC" +version = "15.4.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 "] +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" } + +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:63329b342125eba1b9fcb0ffbe2800340388bfb00c509ec9fa802043dda2fc1d", +"sha512:9b3e857612150bd7568164f39f0b37f1b5c71c20c74d42cd4ff0461a7b3cbf022355b5b90ad6d84cd1f206208918be40d5f5be423218441e9c2f0778ff0b7fb5", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-stm32f0xx-15.4.0.tar.gz" + diff --git a/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.4.0.toml b/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.4.0.toml new file mode 100644 index 00000000..8dc9341a --- /dev/null +++ b/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.4.0.toml @@ -0,0 +1,145 @@ +name = "embedded_stm32g0xx" +description = "embedded runtime for the STM32G0XX SoC" +version = "15.4.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 "] +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:460216956823c4a7a5c79242d63fbf4064dafeb1532d8b900a9a3b7cdc8f428a", +"sha512:cf306101bf57b34f2aca0162d94770fe0dfd742da28a3d9a438d6140390e3ef9dab3f056e9a1a9c20d2457a41e5a9d16e288e0ee60e007ea208c36a83adc2027", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-stm32g0xx-15.4.0.tar.gz" + diff --git a/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.4.0.toml b/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.4.0.toml new file mode 100644 index 00000000..42a66c02 --- /dev/null +++ b/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.4.0.toml @@ -0,0 +1,144 @@ +name = "embedded_stm32g4xx" +description = "embedded runtime for the STM32G4XX SoC" +version = "15.4.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 "] +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:b4fd8e5467dcd0737b0e7f2facce319dd0b181f36f7d7c7cb3ee51359f0f3e8c", +"sha512:64c4ec0d6b631e37fe8fba2ed5a31e37f45fea0adf537aabb23097d2ae1a146fa687f41fbe7c426f7f5cd19cc789bb7df6e22516bc6b53eb75195d2f362c5141", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/embedded-stm32g4xx-15.4.0.tar.gz" + diff --git a/index/li/light_nrf52832/light_nrf52832-15.4.0.toml b/index/li/light_nrf52832/light_nrf52832-15.4.0.toml new file mode 100644 index 00000000..4789d691 --- /dev/null +++ b/index/li/light_nrf52832/light_nrf52832-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_nrf52832" +description = "light runtime for the NRF52832 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_nrf52832` in the dependency list: + ```toml + [[depends-on]] + light_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 "] +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'] + +[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 } + +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:122614ca99f51d738584fd506b59f74e5cda0e16ea13247aca33f6f6b3f114a3", +"sha512:b45b44bcfa571035eeb9879df21f86da6fe065eb18e4b389bc25f715d2338b08876a3cfc71c919405f8e78f32edccff672f57637203f1f01556e126938a01015", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-nrf52832-15.4.0.tar.gz" + diff --git a/index/li/light_nrf52833/light_nrf52833-15.4.0.toml b/index/li/light_nrf52833/light_nrf52833-15.4.0.toml new file mode 100644 index 00000000..5f46a194 --- /dev/null +++ b/index/li/light_nrf52833/light_nrf52833-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_nrf52833" +description = "light runtime for the NRF52833 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_nrf52833` in the dependency list: + ```toml + [[depends-on]] + light_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 "] +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'] + +[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 } + +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:d11530618b1d3ed28098582d1cd7bba3ffc821bece0ce319bbd2f91b2284c450", +"sha512:8ac33621552759feb8cacc1a04180dcbad95bd4ff2cad147abf8f14420ded029dd8b5271fd559bb0a13cde4258fb8f2c02ce358b6918d40511c4fbeb7e775502", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-nrf52833-15.4.0.tar.gz" + diff --git a/index/li/light_nrf52840/light_nrf52840-15.4.0.toml b/index/li/light_nrf52840/light_nrf52840-15.4.0.toml new file mode 100644 index 00000000..9cadb278 --- /dev/null +++ b/index/li/light_nrf52840/light_nrf52840-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_nrf52840" +description = "light runtime for the NRF52840 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_nrf52840` in the dependency list: + ```toml + [[depends-on]] + light_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 "] +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'] + +[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 } + +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:95c129cca10fa7c4b8cce2908507f39ee5e7947f6bd6f596646816378a3cf1ed", +"sha512:8ddec5d81c238993f8c12e42c48321c99b0e460c01ddd6cffe8cff82d96d6c73bc8850cf03d308b7909a6bf92435ecc56a35a9ae23092f19a81c0a0b5cc50332", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-nrf52840-15.4.0.tar.gz" + diff --git a/index/li/light_nrf54l_app/light_nrf54l_app-15.4.0.toml b/index/li/light_nrf54l_app/light_nrf54l_app-15.4.0.toml new file mode 100644 index 00000000..0837a923 --- /dev/null +++ b/index/li/light_nrf54l_app/light_nrf54l_app-15.4.0.toml @@ -0,0 +1,72 @@ +name = "light_nrf54l_app" +description = "light runtime for the nRF54L series" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_nrf54l_app` in the dependency list: + ```toml + [[depends-on]] + light_nrf54l_app = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project files: + ```ada + with "runtime_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 the linker switch `-Wl,--gc-sections` is optional, but its use is +recommended since it reduces the final size of the executable by removing +unused code. +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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'] + +[configuration] +output_dir = "gnat_user" + +[configuration.variables] +Device = { type = "Enum", values = ["nRF54L05", "nRF54L10", "nRF54L15", "nRF54LS05A", "nRF54LS05B", "nRF54LV10A", "nRF54LM20A", "nRF54LM20B"], default = "nRF54L15" } +MCU_Domain_Speed = { type = "Enum", values = ["CK64M", "CK128M"], default = "CK64M" } +Time_Base_GRTC_IRQ = { type = "Integer", first = 0, last = 3, default = 3 } +Time_Base_GRTC_CCn = { type = "Integer", first = 0, last = 11, default = 11} +Security_Level = { type = "Enum", values = [ "Secure", "Non_Secure" ], default = "Secure" } +LFCLK_Src = { type = "Enum", values = ["LFXO", "LFRC", "LFSYNT"], default = "LFXO" } +Enable_SWO = { type = "Boolean", default = true } +Enable_Trace = { type = "Boolean", default = false } +Enable_Glitch_Detector = { type = "Boolean", default = true } + +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:564931078f1d381429ca88b7265f67a894d315f9cf48a46abc107a8467da2c21", +"sha512:c27215713212d98bceb1d6d04218ab3507e50e75d180906514a9ee0fd1e7aca17d73a7112d78052ac29c6fac08037b13b14f4ca2a05d7269de0d3b109d110367", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-nrf54l_app-15.4.0.tar.gz" + diff --git a/index/li/light_rp2040/light_rp2040-15.4.0.toml b/index/li/light_rp2040/light_rp2040-15.4.0.toml new file mode 100644 index 00000000..f8c6913b --- /dev/null +++ b/index/li/light_rp2040/light_rp2040-15.4.0.toml @@ -0,0 +1,91 @@ +name = "light_rp2040" +description = "light runtime for the RP2040 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_rp2040` in the dependency list: + ```toml + [[depends-on]] + light_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"; + ``` + - 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 "] +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'] + +[configuration] +output_dir = "gnat_user" + +[configuration.variables] + +# Configures how many of the two cores the runtime uses +Max_CPUs = { type = "Integer", first = 1, last = 1, default = 1 } + +# 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:40e6b553a4bb1ba5aaafe44fd6903ef1b73fce77f80d2d5fcab999a63c904e8e", +"sha512:a30bcb1bec6a8a9546db84530f4a5dd925b7a40186b8adf6cd90e7ceffa8964c53451687def998384676666ea1c4b176d5e688865d6bb12ae1d7e1be3f9a64ec", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-rp2040-15.4.0.tar.gz" + diff --git a/index/li/light_rp2350/light_rp2350-15.4.0.toml b/index/li/light_rp2350/light_rp2350-15.4.0.toml new file mode 100644 index 00000000..e8e95363 --- /dev/null +++ b/index/li/light_rp2350/light_rp2350-15.4.0.toml @@ -0,0 +1,95 @@ +name = "light_rp2350" +description = "light runtime for the RP2350 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_rp2350` in the dependency list: + ```toml + [[depends-on]] + light_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"; + ``` + - 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 "] +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'] + +[configuration] +output_dir = "gnat_user" + +[configuration.variables] + +# Configures how many of the two cores the runtime uses +Max_CPUs = { type = "Integer", first = 1, last = 1, default = 1 } + +# 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:c388076743026e0ab442b71c3851c86cd10ad6d8e04119c1175878772896b56a", +"sha512:9c163fefe9c27b9b2f59f67229eb5149bef1d519509c4c0fae32143bf0ccc30127542e2cccbe32cbad44f9b7574d6219708aa4cc3ba6cbe78ce2abb783b0dcc9", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-rp2350-15.4.0.tar.gz" + diff --git a/index/li/light_stm32f0xx/light_stm32f0xx-15.4.0.toml b/index/li/light_stm32f0xx/light_stm32f0xx-15.4.0.toml new file mode 100644 index 00000000..089cb857 --- /dev/null +++ b/index/li/light_stm32f0xx/light_stm32f0xx-15.4.0.toml @@ -0,0 +1,114 @@ +name = "light_stm32f0xx" +description = "light runtime for the STM32F0XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_stm32f0xx` in the dependency list: + ```toml + [[depends-on]] + light_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"; + ``` + - 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] +light_stm32f0xx.MCU_Sub_Family = "F030" +light_stm32f0xx.MCU_Pin_Count = "F" +light_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 +light_stm32f0xx.HSE_Clock_Frequency = 16000000 +light_stm32f0xx.HSE_Bypass = false + +# Use the PLL as the SYSCLK source +light_stm32f0xx.SYSCLK_Src = "PLL" + +# Configure the PLL input for a 16 MHz input from the HSE +light_stm32f0xx.PLL_Src = "HSE_PREDIV" +light_stm32f0xx.PREDIV = 1 + +# Configure the PLL to output 32 MHz (16 MHz * 2) +light_stm32f0xx.PLLMUL = 2 + +# Configure the AHB an APB to also run at 32 MHz +light_stm32f0xx.AHB_Pre = "DIV1" +light_stm32f0xx.APB_Pre = "DIV1" +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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'] + +[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" } + +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:fde018e10cf55e2cf54991d246e9ac42767b5a24db2c0958c6a2c86af9c8b649", +"sha512:2336fbef713b81ed3b5927a61b4e5098b5c41982c68362f901f124020b14e796a5cff857ad0b5e8b775282174da486779419e8bedb9083decaf86467f487e140", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-stm32f0xx-15.4.0.tar.gz" + diff --git a/index/li/light_stm32g0xx/light_stm32g0xx-15.4.0.toml b/index/li/light_stm32g0xx/light_stm32g0xx-15.4.0.toml new file mode 100644 index 00000000..010df6d9 --- /dev/null +++ b/index/li/light_stm32g0xx/light_stm32g0xx-15.4.0.toml @@ -0,0 +1,144 @@ +name = "light_stm32g0xx" +description = "light runtime for the STM32G0XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_stm32g0xx` in the dependency list: + ```toml + [[depends-on]] + light_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"; + ``` + - 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] +light_stm32g0xx.MCU_Sub_Family = "G031" +light_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] +light_stm32g0xx.PLL_Q_Enable = false +light_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] +light_stm32g0xx.Interrupt_Stack_Size = 1024 +light_stm32g0xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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'] + +[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:d7de4264f03c00989ce8f46e4d81cccffe304262a453fff971ccad6c73611a4e", +"sha512:a6933f1381475d25194de515056747e752395c3a77f6703b3c43f2eece50c994151c6b6d847606aec76996b0da3baf8cb0c03851b67b8d934d35d5218c1f43c0", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-stm32g0xx-15.4.0.tar.gz" + diff --git a/index/li/light_stm32g4xx/light_stm32g4xx-15.4.0.toml b/index/li/light_stm32g4xx/light_stm32g4xx-15.4.0.toml new file mode 100644 index 00000000..e82bec27 --- /dev/null +++ b/index/li/light_stm32g4xx/light_stm32g4xx-15.4.0.toml @@ -0,0 +1,143 @@ +name = "light_stm32g4xx" +description = "light runtime for the STM32G4XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_stm32g4xx` in the dependency list: + ```toml + [[depends-on]] + light_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"; + ``` + - 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] +light_stm32g4xx.MCU_Sub_Family = "G431" +light_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 +light_stm32g4xx.HSE_Clock_Frequency = 24000000 +light_stm32g4xx.HSE_Bypass = false + +# Select PLLRCLK as the SYSCLK source +light_stm32g4xx.SYSCLK_Src = "PLLRCLK" + +# Configure the PLL VCO to run at 340 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M)) +light_stm32g4xx.PLL_Src = "HSE" +light_stm32g4xx.PLL_N_Mul = 85 +light_stm32g4xx.PLL_M_Div = 6 + +# Configure the PLLRCLK to run at 170 MHz from the 340 MHz VCO. +light_stm32g4xx.PLL_R_Div = 2 + +# Configure the AHB and APB to also run at 170 MHz +light_stm32g4xx.AHB_Pre = "DIV1" +light_stm32g4xx.APB1_Pre = "DIV1" +light_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] +light_stm32g4xx.PLL_Q_Enable = false +light_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] +light_stm32g4xx.Interrupt_Stack_Size = 1024 +light_stm32g4xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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'] + +[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:ad877fd3fed7535870fec136b3d6640c7eb0589291725b8924f7333d032e6c8d", +"sha512:061cd4e9a363d3a7c6684fe29c61f0c92f3ae6d260692640ccb369a1621b81246424d514a2b6cd912b78cf633b1f7a18e755e769e6099432946ceaabeb868aad", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-stm32g4xx-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.4.0.toml b/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.4.0.toml new file mode 100644 index 00000000..18191157 --- /dev/null +++ b/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_tasking_nrf52832" +description = "light-tasking runtime for the NRF52832 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_nrf52832` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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 "] +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 } + +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:4eb4342c0aafbd393c70a6979ada5baa65ff880b6e1216291572993a6b68b78e", +"sha512:751fc76da66d9904c53230afaba77522b87feb25ddb0ecee5cd41379987a2ff428717b7bd1dabaded9698409fc8162902b94433013f149a22537ced15125401f", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-nrf52832-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.4.0.toml b/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.4.0.toml new file mode 100644 index 00000000..abff9572 --- /dev/null +++ b/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_tasking_nrf52833" +description = "light-tasking runtime for the NRF52833 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_nrf52833` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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 "] +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 } + +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:522f443c0872b9468a3690977e12839c0ccd8e2f33a1ac5ae19442b7bbeb9703", +"sha512:af3b58e4e783abf290c6a03f6d3e0bb2e2cdf86de34ae63c5d73e94b1dd5fcca36bddd91269a08d9010e92c5b80a793db76cafb381bea6444a2ea6d26aa20fad", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-nrf52833-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.4.0.toml b/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.4.0.toml new file mode 100644 index 00000000..c614ed86 --- /dev/null +++ b/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.4.0.toml @@ -0,0 +1,59 @@ +name = "light_tasking_nrf52840" +description = "light-tasking runtime for the NRF52840 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_nrf52840` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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 "] +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 } + +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:282681622cde67d02ed8a99aed419546b5652eaf4be5e63206c04ac73ff65df3", +"sha512:a0a928ba0f381af0340fa2cde4e8e588323009c91b228d4a3e205a45c2152b066e12f67e66648ac6ba881653562e9c6497ca53d2591a6c02f9967305b81b1d47", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-nrf52840-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_nrf54l_app/light_tasking_nrf54l_app-15.4.0.toml b/index/li/light_tasking_nrf54l_app/light_tasking_nrf54l_app-15.4.0.toml new file mode 100644 index 00000000..bc9e2ac7 --- /dev/null +++ b/index/li/light_tasking_nrf54l_app/light_tasking_nrf54l_app-15.4.0.toml @@ -0,0 +1,73 @@ +name = "light_tasking_nrf54l_app" +description = "light-tasking runtime for the nRF54L series" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_nrf54l_app` in the dependency list: + ```toml + [[depends-on]] + light_tasking_nrf54l_app = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project files: + ```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 the linker switch `-Wl,--gc-sections` is optional, but its use is +recommended since it reduces the final size of the executable by removing +unused code. +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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] +Device = { type = "Enum", values = ["nRF54L05", "nRF54L10", "nRF54L15", "nRF54LS05A", "nRF54LS05B", "nRF54LV10A", "nRF54LM20A", "nRF54LM20B"], default = "nRF54L15" } +MCU_Domain_Speed = { type = "Enum", values = ["CK64M", "CK128M"], default = "CK64M" } +Time_Base_GRTC_IRQ = { type = "Integer", first = 0, last = 3, default = 3 } +Time_Base_GRTC_CCn = { type = "Integer", first = 0, last = 11, default = 11} +Security_Level = { type = "Enum", values = [ "Secure", "Non_Secure" ], default = "Secure" } +LFCLK_Src = { type = "Enum", values = ["LFXO", "LFRC", "LFSYNT"], default = "LFXO" } +Enable_SWO = { type = "Boolean", default = true } +Enable_Trace = { type = "Boolean", default = false } +Enable_Glitch_Detector = { type = "Boolean", default = true } + +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:e913d4092dcf219d04b3fe1ce8e4d7c8f43da99755d181fc6425c5efcb3ee3ed", +"sha512:51925529364c6bf79a4d9b5af2e9a00d24bdd78fefeb36bdb5595d08d037908098a4751ff5001fcb571412a74309bd5b044f0fd1519d787ee966a405f59518f2", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-nrf54l_app-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_rp2040/light_tasking_rp2040-15.4.0.toml b/index/li/light_tasking_rp2040/light_tasking_rp2040-15.4.0.toml new file mode 100644 index 00000000..79025c8e --- /dev/null +++ b/index/li/light_tasking_rp2040/light_tasking_rp2040-15.4.0.toml @@ -0,0 +1,92 @@ +name = "light_tasking_rp2040" +description = "light-tasking runtime for the RP2040 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_rp2040` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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 "] +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:c3806fc6513a45fab23e9b5eb221ae879b774cc1ae51bcc0f92234a124a33f1d", +"sha512:a89f64663862318b01fa9e7f2d0aa243bbb20d05403e3a9fd74fa28c711154452062f21d36d00bc88b48bab8db7334a81a65d3d1f105dde3c3814084497d8a52", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-rp2040-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_rp2350/light_tasking_rp2350-15.4.0.toml b/index/li/light_tasking_rp2350/light_tasking_rp2350-15.4.0.toml new file mode 100644 index 00000000..48440595 --- /dev/null +++ b/index/li/light_tasking_rp2350/light_tasking_rp2350-15.4.0.toml @@ -0,0 +1,96 @@ +name = "light_tasking_rp2350" +description = "light-tasking runtime for the RP2350 SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_rp2350` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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 "] +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:05ae855da46bd0417de88b0ecddf8d07337b3817d6cc688cd190d095013833fe", +"sha512:dcac1328bd02bf7fb1f2fc1aaf34899264a7ad17cb3dcb4a163a0600c7b93977f8d7c83ca8c7bcecdf156d16cb3c2348c087b0bedfa00f2f5b4565e19bbc4fa7", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-rp2350-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.4.0.toml b/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.4.0.toml new file mode 100644 index 00000000..265a0fa7 --- /dev/null +++ b/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.4.0.toml @@ -0,0 +1,115 @@ +name = "light_tasking_stm32f0xx" +description = "light-tasking runtime for the STM32F0XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_stm32f0xx` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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] +light_tasking_stm32f0xx.MCU_Sub_Family = "F030" +light_tasking_stm32f0xx.MCU_Pin_Count = "F" +light_tasking_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 +light_tasking_stm32f0xx.HSE_Clock_Frequency = 16000000 +light_tasking_stm32f0xx.HSE_Bypass = false + +# Use the PLL as the SYSCLK source +light_tasking_stm32f0xx.SYSCLK_Src = "PLL" + +# Configure the PLL input for a 16 MHz input from the HSE +light_tasking_stm32f0xx.PLL_Src = "HSE_PREDIV" +light_tasking_stm32f0xx.PREDIV = 1 + +# Configure the PLL to output 32 MHz (16 MHz * 2) +light_tasking_stm32f0xx.PLLMUL = 2 + +# Configure the AHB an APB to also run at 32 MHz +light_tasking_stm32f0xx.AHB_Pre = "DIV1" +light_tasking_stm32f0xx.APB_Pre = "DIV1" +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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" } + +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:c2d0863b52d4e03acf7a0e0931925506a45719e286428db212ee62a05d4e0bd8", +"sha512:665bae42bc93dbba63cacc65a45dd522c0f9c4e9ca9aaab9c1037e92fa16510df7c66604ad93c7f2203d0a950ddf00b688705c4024b65c75a794fe716420e56c", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-stm32f0xx-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.4.0.toml b/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.4.0.toml new file mode 100644 index 00000000..5caf7642 --- /dev/null +++ b/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.4.0.toml @@ -0,0 +1,145 @@ +name = "light_tasking_stm32g0xx" +description = "light-tasking runtime for the STM32G0XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_stm32g0xx` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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] +light_tasking_stm32g0xx.MCU_Sub_Family = "G031" +light_tasking_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] +light_tasking_stm32g0xx.PLL_Q_Enable = false +light_tasking_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] +light_tasking_stm32g0xx.Interrupt_Stack_Size = 1024 +light_tasking_stm32g0xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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:4d9531ff969536a2b061e90a22a6fa4d279e68ccb970d446b49cf331a799fc9f", +"sha512:72c7d99ec39e1a5074818aaec564f36cec57ab9fbabd63311fe392674c4a4fc2a2ac0bbc4d6f492f3d37ba685f07842033849cac6410c13a4938ac574d2fc047", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-stm32g0xx-15.4.0.tar.gz" + diff --git a/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.4.0.toml b/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.4.0.toml new file mode 100644 index 00000000..fc6eef1b --- /dev/null +++ b/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.4.0.toml @@ -0,0 +1,144 @@ +name = "light_tasking_stm32g4xx" +description = "light-tasking runtime for the STM32G4XX SoC" +version = "15.4.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `light_tasking_stm32g4xx` in the dependency list: + ```toml + [[depends-on]] + light_tasking_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] +light_tasking_stm32g4xx.MCU_Sub_Family = "G431" +light_tasking_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 +light_tasking_stm32g4xx.HSE_Clock_Frequency = 24000000 +light_tasking_stm32g4xx.HSE_Bypass = false + +# Select PLLRCLK as the SYSCLK source +light_tasking_stm32g4xx.SYSCLK_Src = "PLLRCLK" + +# Configure the PLL VCO to run at 340 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M)) +light_tasking_stm32g4xx.PLL_Src = "HSE" +light_tasking_stm32g4xx.PLL_N_Mul = 85 +light_tasking_stm32g4xx.PLL_M_Div = 6 + +# Configure the PLLRCLK to run at 170 MHz from the 340 MHz VCO. +light_tasking_stm32g4xx.PLL_R_Div = 2 + +# Configure the AHB and APB to also run at 170 MHz +light_tasking_stm32g4xx.AHB_Pre = "DIV1" +light_tasking_stm32g4xx.APB1_Pre = "DIV1" +light_tasking_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] +light_tasking_stm32g4xx.PLL_Q_Enable = false +light_tasking_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] +light_tasking_stm32g4xx.Interrupt_Stack_Size = 1024 +light_tasking_stm32g4xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +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:c89167c275114ffb8eb86b65f8cdec1f27110038f4766df3af62e6ab4346b6cb", +"sha512:e1fb68c8ffbfa6d668ae91b829c4d10e290084a59cb63bb507fd5dd70952b27a615af130e83bbb2dce6873bdbb53ff316ea875d2e84c49b3474ae090bd93cfa6", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.4.0/light-tasking-stm32g4xx-15.4.0.tar.gz" +