From d8024dd5ec45cf586be3e65ddf3d7b52f3df2403 Mon Sep 17 00:00:00 2001 From: Daniel King Date: Thu, 12 Mar 2026 10:04:41 +0000 Subject: [PATCH] community-bb-runtimes 15.2.0 (#1822) --- .../embedded_nrf52832-15.2.0.toml | 56 +++++++ .../embedded_nrf52833-15.2.0.toml | 56 +++++++ .../embedded_nrf52840-15.2.0.toml | 56 +++++++ .../embedded_rp2040-15.2.0.toml | 92 +++++++++++ .../embedded_rp2350-15.2.0.toml | 96 ++++++++++++ .../embedded_stm32f0xx-15.2.0.toml | 112 ++++++++++++++ .../embedded_stm32g0xx-15.2.0.toml | 145 ++++++++++++++++++ .../embedded_stm32g4xx-15.2.0.toml | 144 +++++++++++++++++ .../light_nrf52832/light_nrf52832-15.2.0.toml | 56 +++++++ .../light_nrf52833/light_nrf52833-15.2.0.toml | 56 +++++++ .../light_nrf52840/light_nrf52840-15.2.0.toml | 56 +++++++ .../li/light_rp2040/light_rp2040-15.2.0.toml | 91 +++++++++++ .../li/light_rp2350/light_rp2350-15.2.0.toml | 95 ++++++++++++ .../light_stm32f0xx-15.2.0.toml | 111 ++++++++++++++ .../light_stm32g0xx-15.2.0.toml | 144 +++++++++++++++++ .../light_stm32g4xx-15.2.0.toml | 143 +++++++++++++++++ .../light_tasking_nrf52832-15.2.0.toml | 56 +++++++ .../light_tasking_nrf52833-15.2.0.toml | 56 +++++++ .../light_tasking_nrf52840-15.2.0.toml | 56 +++++++ .../light_tasking_rp2040-15.2.0.toml | 92 +++++++++++ .../light_tasking_rp2350-15.2.0.toml | 96 ++++++++++++ .../light_tasking_stm32f0xx-15.2.0.toml | 112 ++++++++++++++ .../light_tasking_stm32g0xx-15.2.0.toml | 145 ++++++++++++++++++ .../light_tasking_stm32g4xx-15.2.0.toml | 144 +++++++++++++++++ 24 files changed, 2266 insertions(+) create mode 100644 index/em/embedded_nrf52832/embedded_nrf52832-15.2.0.toml create mode 100644 index/em/embedded_nrf52833/embedded_nrf52833-15.2.0.toml create mode 100644 index/em/embedded_nrf52840/embedded_nrf52840-15.2.0.toml create mode 100644 index/em/embedded_rp2040/embedded_rp2040-15.2.0.toml create mode 100644 index/em/embedded_rp2350/embedded_rp2350-15.2.0.toml create mode 100644 index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.2.0.toml create mode 100644 index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.2.0.toml create mode 100644 index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.2.0.toml create mode 100644 index/li/light_nrf52832/light_nrf52832-15.2.0.toml create mode 100644 index/li/light_nrf52833/light_nrf52833-15.2.0.toml create mode 100644 index/li/light_nrf52840/light_nrf52840-15.2.0.toml create mode 100644 index/li/light_rp2040/light_rp2040-15.2.0.toml create mode 100644 index/li/light_rp2350/light_rp2350-15.2.0.toml create mode 100644 index/li/light_stm32f0xx/light_stm32f0xx-15.2.0.toml create mode 100644 index/li/light_stm32g0xx/light_stm32g0xx-15.2.0.toml create mode 100644 index/li/light_stm32g4xx/light_stm32g4xx-15.2.0.toml create mode 100644 index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.2.0.toml create mode 100644 index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.2.0.toml create mode 100644 index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.2.0.toml create mode 100644 index/li/light_tasking_rp2040/light_tasking_rp2040-15.2.0.toml create mode 100644 index/li/light_tasking_rp2350/light_tasking_rp2350-15.2.0.toml create mode 100644 index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.2.0.toml create mode 100644 index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.2.0.toml create mode 100644 index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.2.0.toml diff --git a/index/em/embedded_nrf52832/embedded_nrf52832-15.2.0.toml b/index/em/embedded_nrf52832/embedded_nrf52832-15.2.0.toml new file mode 100644 index 00000000..4075de63 --- /dev/null +++ b/index/em/embedded_nrf52832/embedded_nrf52832-15.2.0.toml @@ -0,0 +1,56 @@ +name = "embedded_nrf52832" +description = "embedded runtime for the NRF52832 SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_nrf52832` in the dependency list: + ```toml + [[depends-on]] + embedded_nrf52832 = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project file. With this, gprbuild will compile the run-time before your application + ```ada + with "$(runtime_proj_prefix)_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use $(runtime_proj_prefix)_build'Target; + for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada"); + ``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_gpr = false +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" } +LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" } +Use_SWO_Trace = { type = "Boolean", default = true } +Use_Reset_Pin = { type = "Boolean", default = true } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:ba4945f04eedf0edb46e7d70b2832bde3f7a9b8b7c3eaad2e1ab951bad889e23", +"sha512:71bc763b8fb20c83319982b46d3bd8243fb7044e5d1c18020643064792ed5cf41909a2fb69dd73c17c6da958958cad8bf9348b8485548dc1fa26b63bb7547992", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52832-15.2.0.tar.gz" + diff --git a/index/em/embedded_nrf52833/embedded_nrf52833-15.2.0.toml b/index/em/embedded_nrf52833/embedded_nrf52833-15.2.0.toml new file mode 100644 index 00000000..b661814f --- /dev/null +++ b/index/em/embedded_nrf52833/embedded_nrf52833-15.2.0.toml @@ -0,0 +1,56 @@ +name = "embedded_nrf52833" +description = "embedded runtime for the NRF52833 SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_nrf52833` in the dependency list: + ```toml + [[depends-on]] + embedded_nrf52833 = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project file. With this, gprbuild will compile the run-time before your application + ```ada + with "$(runtime_proj_prefix)_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use $(runtime_proj_prefix)_build'Target; + for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada"); + ``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_gpr = false +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" } +LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" } +Use_SWO_Trace = { type = "Boolean", default = true } +Use_Reset_Pin = { type = "Boolean", default = true } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:9434a835c1c8770c75ade371824bc792390c561aba1904dc5e9c213fafb3baf4", +"sha512:39575b8e2ef68e24be5caf1f9d1741eaa81213812a9b5b5ae6227c61ff0ebda676610e1cf4f444613d250acc75f186ca4ef30e77d8864e59ab78fb9e5e98590c", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52833-15.2.0.tar.gz" + diff --git a/index/em/embedded_nrf52840/embedded_nrf52840-15.2.0.toml b/index/em/embedded_nrf52840/embedded_nrf52840-15.2.0.toml new file mode 100644 index 00000000..32e4dfa7 --- /dev/null +++ b/index/em/embedded_nrf52840/embedded_nrf52840-15.2.0.toml @@ -0,0 +1,56 @@ +name = "embedded_nrf52840" +description = "embedded runtime for the NRF52840 SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_nrf52840` in the dependency list: + ```toml + [[depends-on]] + embedded_nrf52840 = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project file. With this, gprbuild will compile the run-time before your application + ```ada + with "$(runtime_proj_prefix)_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use $(runtime_proj_prefix)_build'Target; + for Runtime ("Ada") use $(runtime_proj_prefix)_build'Runtime ("Ada"); + ``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_gpr = false +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +Time_Base = { type = "Enum", values = ["RTC0", "RTC1", "RTC2"], default = "RTC2" } +LFCLK_Src = { type = "Enum", values = ["Xtal", "RC", "Synth"], default = "Xtal" } +Use_SWO_Trace = { type = "Boolean", default = true } +Use_Reset_Pin = { type = "Boolean", default = true } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:f69f974b700e8a67570c5183adeef9bcfe0ee5b9bce56c74a5d9df8b2c755bc1", +"sha512:6d3d4cc7db84ab1519f79d045a4dfbdb04616867c93e4fe10d2e4765faee7cfff818f3b94fba9c2fdbe957acad780410667473405f08bc08698c8d3c8ea94159", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-nrf52840-15.2.0.tar.gz" + diff --git a/index/em/embedded_rp2040/embedded_rp2040-15.2.0.toml b/index/em/embedded_rp2040/embedded_rp2040-15.2.0.toml new file mode 100644 index 00000000..fc8cb1a9 --- /dev/null +++ b/index/em/embedded_rp2040/embedded_rp2040-15.2.0.toml @@ -0,0 +1,92 @@ +name = "embedded_rp2040" +description = "embedded runtime for the RP2040 SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_rp2040` in the dependency list: + ```toml + [[depends-on]] + embedded_rp2040 = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project files. With this, gprbuild will compile the run-time before your application + ```ada + with "runtime_build.gpr"; + with "ravenscar_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use runtime_build'Target; + for Runtime ("Ada") use runtime_build'Runtime ("Ada"); + ``` + - specify the `Linker` switches: + ```ada + package Linker is + for Switches ("Ada") use Runtime_Build.Linker_Switches & ("-Wl,--gc-sections"); + end Linker; + ``` + Note that `--gc-switches` is recommended as it reduces flash and RAM usage + by removing unused code and data, but it is not mandatory. + +See the project website for details on configuring the runtime. +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +output_dir = "gnat_user" + +[configuration.variables] + +# Configures how many of the two cores the runtime uses +Max_CPUs = { type = "Integer", first = 1, last = 2, default = 2 } + +# Configures which ALARM the runtime uses to implement the semantics of +# Ada.Real_Time +Time_Base = { type = "Enum", values = ["ALARM0", "ALARM1", "ALARM2", "ALARM3"], default = "ALARM3" } + +# Configures the runtime for a specific board. +# For "generic" boards, the board characteristics (flash chip, XOSC frequency) +# can be configured manually. +Board = { type = "Enum", values = [ "generic_board", "rpi_pico", "adafruit_feather_rp2040", "adafruit_itsybitsy_rp2040", "adafruit_macropad_rp2040", "adafruit_qt2040_trinkey", "adafruit_qtpy_rp2040", "arduino_nano_rp2040_connect", "pimoroni_interstate75", "pimoroni_keybow2040", "pimoroni_pga2040", "pimoroni_picolipo_4m", "pimoroni_picolipo_16m", "pimoroni_picosystem", "pimoroni_plasma2040", "pimoroni_tiny2040", "sparkfun_micromod", "sparkfun_promicro", "sparkfun_thingplus" ], default = "rpi_pico" } + +# These configure the board parameters for when Board is "generic_board". +# These are ignored when Board is not "generic_board". +XOSC_Frequency = { type = "Integer", first = 0, default = 12000000 } +XOSC_Startup_Delay_Mult = { type = "Integer", first = 1, last = 16383, default = 64 } +Flash_Chip = { type = "Enum", values = [ "generic_qspi_128", "at25sf128a", "gd25q64c", "w25q16jv", "w25q32jv", "w25q64jv", "w25q128jv"], default = "generic_qspi_128" } + +# Clock configuration +PLL_Sys_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 } +PLL_Sys_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 125 } +PLL_Sys_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 6 } +PLL_Sys_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 } +PLL_USB_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 } +PLL_USB_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 40 } +PLL_USB_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 } +PLL_USB_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 } + +Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 } +Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:ad91fa6680319b278464c34c73b93aa09af9b4a376c788840ebb1386b271f86d", +"sha512:ab9a74aeddd29a25077c8c6d0637d9485b4bbd517bcb55e138bbda3b6131df8d688e8f600db9c86b5e73b59b9dd2f56c350d6ba74178ec281765eff36aaffbed", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-rp2040-15.2.0.tar.gz" + diff --git a/index/em/embedded_rp2350/embedded_rp2350-15.2.0.toml b/index/em/embedded_rp2350/embedded_rp2350-15.2.0.toml new file mode 100644 index 00000000..5686f30d --- /dev/null +++ b/index/em/embedded_rp2350/embedded_rp2350-15.2.0.toml @@ -0,0 +1,96 @@ +name = "embedded_rp2350" +description = "embedded runtime for the RP2350 SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_rp2350` in the dependency list: + ```toml + [[depends-on]] + embedded_rp2350 = "*" + ``` + +Then edit your project file to add the following elements: + - "with" the run-time project files. With this, gprbuild will compile the run-time before your application + ```ada + with "runtime_build.gpr"; + with "ravenscar_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use runtime_build'Target; + for Runtime ("Ada") use runtime_build'Runtime ("Ada"); + ``` + - specify the `Linker` switches: + ```ada + package Linker is + for Switches ("Ada") use Runtime_Build.Linker_Switches & ("-Wl,--gc-sections"); + end Linker; + ``` + Note that `--gc-switches` is recommended as it reduces flash and RAM usage + by removing unused code and data, but it is not mandatory. + +See the project website for details on configuring the runtime. +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +output_dir = "gnat_user" + +[configuration.variables] + +# Configures how many of the two cores the runtime uses +Max_CPUs = { type = "Integer", first = 1, last = 2, default = 2 } + +# Configures the Arm security level that the partition will run at (Secure or Non-Secure) +Security_Level = { type = "Enum", values = [ "Secure", "Non_Secure" ], default = "Secure" } + +# Configures which ALARM the runtime uses to implement the semantics of +# Ada.Real_Time +Time_Base_Timer = { type = "Enum", values = [ "TIMER0", "TIMER1" ], default = "TIMER0" } +Time_Base_Alarm = { type = "Enum", values = [ "ALARM0", "ALARM1", "ALARM2", "ALARM3" ], default = "ALARM3" } + +# Configures the runtime for a specific board. +# For "generic" boards, the board characteristics (flash chip, XOSC frequency) +# can be configured manually. +Board = { type = "Enum", values = [ "generic_board", "rpi_pico2", "pimoroni_pico_lipo_2_xl_w", "pimoroni_pico_plus_2", "pimoroni_plasma_2350", "pimoroni_tiny_2350", "pimoroni_rp2350_stamp_xl", "pimoroni_rp2350_stamp", "pimoroni_pga2350", "adafruit_feather_rp2350", "adafruit_metro_rp2350", "adafruit_fruit_jam" ], default = "rpi_pico2" } + +# These configure the board parameters for when Board is "generic_board". +# These are ignored when Board is not "generic_board". +XOSC_Frequency = { type = "Integer", first = 0, default = 12000000 } +XOSC_Startup_Delay_Mult = { type = "Integer", first = 1, last = 16383, default = 64 } +Flash_Size = { type = "Integer", first = 2, last = 16, default = 2 } + +# Clock configuration +PLL_Sys_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 } +PLL_Sys_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 125 } +PLL_Sys_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 } +PLL_Sys_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 } +PLL_USB_Reference_Div = { type = "Integer", first = 1, last = 63, default = 1 } +PLL_USB_VCO_Multiple = { type = "Integer", first = 16, last = 320, default = 40 } +PLL_USB_Post_Div_1 = { type = "Integer", first = 1, last = 7, default = 5 } +PLL_USB_Post_Div_2 = { type = "Integer", first = 1, last = 7, default = 2 } + +Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 } +Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:304aa2514c6597ee03424322fd151d0521d667212b6fa6a6f4d0f938828bee88", +"sha512:bbc0279b48e3489c5497c6ab2c7ae7bca50624845f689a5d165159042d1f3d4a250aa349dbed67247f6e3c19afce9cebc228d353bb39da71e3f898d81d9b4a2c", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-rp2350-15.2.0.tar.gz" + diff --git a/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.2.0.toml b/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.2.0.toml new file mode 100644 index 00000000..df11762e --- /dev/null +++ b/index/em/embedded_stm32f0xx/embedded_stm32f0xx-15.2.0.toml @@ -0,0 +1,112 @@ +name = "embedded_stm32f0xx" +description = "embedded runtime for the STM32F0XX SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_stm32f0xx` in the dependency list: + ```toml + [[depends-on]] + embedded_stm32f0xx = "*" + ``` + - if applicable, apply any runtime configuration variables (see below). + +Then edit your project file to add the following elements: + - "with" the run-time project files. With this, gprbuild will compile the run-time before your application + ```ada + with "runtime_build.gpr"; + with "ravenscar_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use runtime_build'Target; + for Runtime ("Ada") use runtime_build'Runtime ("Ada"); + ``` + - specify the `Linker` switches: + ```ada + package Linker is + for Switches ("Ada") use Runtime_Build.Linker_Switches; + end Linker; + ``` + +The runtime is configurable via Alire crate configuration variables. +See the project website for full details of the available options. + +By default, the runtime is configured for the STM32F072RB. If your board has +a different MCU, then you will need to specify which MCU you are using via +the crate configuration. For example, to configure the runtime for the +STM32F030F4, add the following to your `alire.toml`: +```toml +[configuration.values] +embedded_stm32f0xx.MCU_Sub_Family = "F030" +embedded_stm32f0xx.MCU_Pin_Count = "F" +embedded_stm32f0xx.MCU_User_Code_Memory_Size = "4" +``` + +By default, the runtime configures the clock tree for a 48 MHz system clock +from the high-speed internal (HSI) oscillator. If you want a different clock +configuration, then use the crate configuration variables to specify the +configuration you wish to use. For example, to configure the runtime to +generate a 32 MHz system clock from a 16 MHz HSE crystal oscillator: +```toml +[configuration.values] +# Configure a 16 MHz HSE crystal oscillator +embedded_stm32f0xx.HSE_Clock_Frequency = 16000000 +embedded_stm32f0xx.HSE_Bypass = false + +# Use the PLL as the SYSCLK source +embedded_stm32f0xx.SYSCLK_Src = "PLL" + +# Configure the PLL input for a 16 MHz input from the HSE +embedded_stm32f0xx.PLL_Src = "HSE_PREDIV" +embedded_stm32f0xx.PREDIV = 1 + +# Configure the PLL to output 32 MHz (16 MHz * 2) +embedded_stm32f0xx.PLLMUL = 2 + +# Configure the AHB an APB to also run at 32 MHz +embedded_stm32f0xx.AHB_Pre = "DIV1" +embedded_stm32f0xx.APB_Pre = "DIV1" +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime", "stm32f0"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +MCU_Sub_Family = { type = "Enum", values = ["F030", "F031", "F038", "F042", "F048", "F051", "F058", "F070", "F071", "F072", "F078", "F091", "F098"], default = "F072" } +MCU_Pin_Count = { type = "Enum", values = ["C", "E", "F", "G", "K", "R", "V"], default = "R" } +MCU_User_Code_Memory_Size = { type = "String", default = "B" } + +LSI_Enabled = { type = "Boolean", default = true } +HSE_Bypass = { type = "Boolean", default = false } +HSE_Clock_Frequency = { type = "Integer", first = 1, last = 32000000, default = 8000000 } +SYSCLK_Src = { type = "Enum", values = ["HSI", "HSE", "PLL", "HSI48"], default = "PLL" } +PLL_Src = { type = "Enum", values = ["HSI_2", "HSI_PREDIV", "HSE_PREDIV", "HSI48_PREDIV"], default = "HSI_2"} +PREDIV = { type = "Integer", first = 1, last = 16, default = 2 } +PLLMUL = { type = "Integer", first = 2, last = 16, default = 12 } +AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" } +APB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV2" } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:c9ca8d604a675862f53855ebbf5283c779f6593a73e789feb269343a2e075241", +"sha512:6d3d9accb3696f832d2569a06184dbf2affeaa56eca5b6aa55348c0701b30102a180da057fbacf29477964d2fc35a9893d0021469d86864ca102abf3fa7112fb", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32f0xx-15.2.0.tar.gz" + diff --git a/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.2.0.toml b/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.2.0.toml new file mode 100644 index 00000000..68cbb09d --- /dev/null +++ b/index/em/embedded_stm32g0xx/embedded_stm32g0xx-15.2.0.toml @@ -0,0 +1,145 @@ +name = "embedded_stm32g0xx" +description = "embedded runtime for the STM32G0XX SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_stm32g0xx` in the dependency list: + ```toml + [[depends-on]] + embedded_stm32g0xx = "*" + ``` + - if applicable, apply any runtime configuration variables (see below). + +Then edit your project file to add the following elements: + - "with" the run-time project files. With this, gprbuild will compile the run-time before your application + ```ada + with "runtime_build.gpr"; + with "ravenscar_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use runtime_build'Target; + for Runtime ("Ada") use runtime_build'Runtime ("Ada"); + ``` + - specify the `Linker` switches: + ```ada + package Linker is + for Switches ("Ada") use Runtime_Build.Linker_Switches; + end Linker; + ``` + +The runtime is configurable via Alire crate configuration variables. +See the project website for full details of the available options. + +By default, the runtime is configured for the STM32G0B1RE. If your board has +a different MCU, then you will need to specify which MCU you are using via +the crate configuration. For example, to configure the runtime for the +STM32G031J4, add the following to your `alire.toml`: +```toml +[configuration.values] +embedded_stm32g0xx.MCU_Sub_Family = "G031" +embedded_stm32g0xx.MCU_Flash_Memory_Size = "4" +``` + +By default, the runtime configures the clock tree for a 64 MHz system clock +from the high-speed internal (HSI) oscillator. If you want a different clock +configuration, then use the crate configuration variables to specify the +configuration you wish to use. For example, to configure the runtime to +generate a 64 MHz system clock from a 24 MHz HSE crystal oscillator: +```toml +[configuration.values] +# Configure a 24 MHz HSE crystal oscillator +light_tasking_stm32g0xx.HSE_Clock_Frequency = 24000000 +light_tasking_stm32g0xx.HSE_Bypass = false + +# Select PLLRCLK as the SYSCLK source +light_tasking_stm32g0xx.SYSCLK_Src = "PLLRCLK" + +# Configure the PLL VCO to run at 128 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M)) +light_tasking_stm32g0xx.PLL_Src = "HSE" +light_tasking_stm32g0xx.PLL_N_Mul = 10 +light_tasking_stm32g0xx.PLL_M_Div = 2 + +# Configure the PLLRCLK to run at 64 MHz from the 128 MHz VCO. +light_tasking_stm32g0xx.PLL_R_Div = 2 + +# Configure the AHB an APB to also run at 64 MHz +light_tasking_stm32g0xx.AHB_Pre = "DIV1" +light_tasking_stm32g0xx.APB_Pre = "DIV1" +``` + +The runtime will generate a compile time error when an invalid PLL configuration +is set. + +By default the PLL's Q and P clocks are enabled. If you don't need them, then you +can disable them via the crate configuration: +```toml +[configuration.values] +embedded_stm32g0xx.PLL_Q_Enable = false +embedded_stm32g0xx.PLL_P_Enable = false +``` + +The runtime will enable the PLL only when either `PLL_Q_Enable` or `PLL_P_Enable` +is `true`, or when `SYSCLK_Src = "PLLRCLK"`. + +The interrupt stack sizes are also configurable: +```toml +[configuration.values] +embedded_stm32g0xx.Interrupt_Stack_Size = 1024 +embedded_stm32g0xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime", "stm32g0"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +MCU_Sub_Family = { type = "Enum", values = ["G030", "G031", "G041", "G050", "G051", "G061", "G070", "G071", "G081", "G0B0", "G0B1", "G0C1"], default = "G0B1" } +MCU_Flash_Memory_Size = { type = "String", default = "B" } + +RAM_Parity_Check = { type = "Enum", values = ["Disabled", "Enabled"], default = "Disabled" } + +LSI_Enabled = { type = "Boolean", default = true } +LSE_Enabled = { type = "Boolean", default = false } +LSE_Bypass = { type = "Boolean", default = false } +HSE_Bypass = { type = "Boolean", default = false } +HSE_Clock_Frequency = { type = "Integer", first = 1, last = 48000000, default = 8000000 } +PLL_Src = { type = "Enum", values = ["HSE", "HSI16"], default = "HSI16" } +PLL_M_Div = { type = "Integer", first = 1, last = 8, default = 2 } +PLL_N_Mul = { type = "Integer", first = 8, last = 86, default = 16 } +PLL_R_Div = { type = "Integer", first = 2, last = 8, default = 2 } +PLL_Q_Div = { type = "Integer", first = 2, last = 8, default = 2 } +PLL_P_Div = { type = "Integer", first = 2, last = 32, default = 2 } +PLL_Q_Enable = { type = "Boolean", default = true } +PLL_P_Enable = { type = "Boolean", default = true } +HSI_Div = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV32", "DIV64", "DIV128"], default = "DIV1" } +SYSCLK_Src = { type = "Enum", values = ["LSE", "LSI", "HSE", "PLLRCLK", "HSISYS"], default = "PLLRCLK" } +AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" } +APB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" } + +Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 } +Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:f50859913cb39f9a72dd695948eec66cc5d652b60bccffe04214e9f6bf7c5392", +"sha512:9b4760a3399a10850fbf4ba35e8b1b31872e8e3718b4f61eb5dd5cfe22c0315cce5bad7c7d3d3c44ff0a1b12126548f142e2c31f6fb8207904e36347d3a7c9a5", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32g0xx-15.2.0.tar.gz" + diff --git a/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.2.0.toml b/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.2.0.toml new file mode 100644 index 00000000..a0444ba4 --- /dev/null +++ b/index/em/embedded_stm32g4xx/embedded_stm32g4xx-15.2.0.toml @@ -0,0 +1,144 @@ +name = "embedded_stm32g4xx" +description = "embedded runtime for the STM32G4XX SoC" +version = "15.2.0" + +long-description = """ +## Usage + +First edit your `alire.toml` file and add the following elements: + - Add `embedded_stm32g4xx` in the dependency list: + ```toml + [[depends-on]] + embedded_stm32g4xx = "*" + ``` + - if applicable, apply any runtime configuration variables (see below). + +Then edit your project file to add the following elements: + - "with" the run-time project files. With this, gprbuild will compile the run-time before your application + ```ada + with "runtime_build.gpr"; + with "ravenscar_build.gpr"; + ``` + - Specify the `Target` and `Runtime` attributes: + ```ada + for Target use runtime_build'Target; + for Runtime ("Ada") use runtime_build'Runtime ("Ada"); + ``` + - specify the `Linker` switches: + ```ada + package Linker is + for Switches ("Ada") use Runtime_Build.Linker_Switches; + end Linker; + ``` + +The runtime is configurable via Alire crate configuration variables. +See the project website for full details of the available options. + +By default, the runtime is configured for the STM32G474RE. If you are using +a different MCU, then you will need to configure the runtime by adding the +following to your `alire.toml`. For example, to configure the runtime for the +STM32G431K6: +```toml +[configuration.values] +embedded_stm32g4xx.MCU_Sub_Family = "G431" +embedded_stm32g4xx.MCU_Flash_Memory_Size = "6" +``` + +By default, the runtime configures the clock tree for a 170 MHz system clock +from the high-speed internal (HSI) oscillator. If you want a different clock +configuration, then use the crate configuration variables to specify the +configuration you wish to use. For example, to configure the runtime to +generate a 170 MHz system clock from a 24 MHz HSE crystal oscillator: +```toml +[configuration.values] +# Configure a 24 MHz HSE crystal oscillator +embedded_stm32g4xx.HSE_Clock_Frequency = 24000000 +embedded_stm32g4xx.HSE_Bypass = false + +# Select PLLRCLK as the SYSCLK source +embedded_stm32g4xx.SYSCLK_Src = "PLLRCLK" + +# Configure the PLL VCO to run at 340 MHz from the 24 MHz HSE (fVCO = fHSE * (N/M)) +embedded_stm32g4xx.PLL_Src = "HSE" +embedded_stm32g4xx.PLL_N_Mul = 85 +embedded_stm32g4xx.PLL_M_Div = 6 + +# Configure the PLLRCLK to run at 170 MHz from the 340 MHz VCO. +embedded_stm32g4xx.PLL_R_Div = 2 + +# Configure the AHB and APB to also run at 170 MHz +embedded_stm32g4xx.AHB_Pre = "DIV1" +embedded_stm32g4xx.APB1_Pre = "DIV1" +embedded_stm32g4xx.APB2_Pre = "DIV1" +``` + +The runtime will generate a compile time error when an invalid PLL configuration +is set. + +By default the PLL's Q and P clocks are enabled. If you don't need them, then you +can disable them via the crate configuration: +```toml +[configuration.values] +embedded_stm32g4xx.PLL_Q_Enable = false +embedded_stm32g4xx.PLL_P_Enable = false +``` + +The runtime will enable the PLL only when either `PLL_Q_Enable` or `PLL_P_Enable` +is `true`, or when `SYSCLK_Src = "PLLRCLK"`. + +The interrupt stack sizes are also configurable: +```toml +[configuration.values] +embedded_stm32g4xx.Interrupt_Stack_Size = 1024 +embedded_stm32g4xx.Interrupt_Secondary_Stack_Size = 128 +``` +""" + +authors = ["AdaCore", "Daniel King"] +maintainers = ["Daniel King "] +maintainers-logins = ["damaki"] +licenses = "GPL-3.0-or-later WITH GCC-exception-3.1" +tags = ["embedded", "runtime", "stm32g4"] +website = "https://github.com/damaki/community-bb-runtimes" + +project-files = ['runtime_build.gpr', 'ravenscar_build.gpr'] + +[configuration] +generate_c = false +output_dir = "gnat_user" + +[configuration.variables] +MCU_Sub_Family = { type = "Enum", values = ["G431", "G441", "G491", "G4A1", "G473", "G483", "G474", "G484"], default = "G474" } +MCU_Flash_Memory_Size = { type = "String", default = "E" } + +LSI_Enabled = { type = "Boolean", default = true } +LSE_Enabled = { type = "Boolean", default = false } +LSE_Bypass = { type = "Boolean", default = false } +HSE_Bypass = { type = "Boolean", default = false } +HSE_Clock_Frequency = { type = "Integer", first = 4000000, last = 48000000, default = 24000000 } +PLL_Src = { type = "Enum", values = ["HSE", "HSI16"], default = "HSI16" } +PLL_M_Div = { type = "Integer", first = 1, last = 16, default = 4 } +PLL_N_Mul = { type = "Integer", first = 8, last = 127, default = 85 } +PLL_R_Div = { type = "Enum", values = ["DIV2", "DIV4", "DIV6", "DIV8"], default = "DIV2" } +PLL_Q_Div = { type = "Enum", values = ["DIV2", "DIV4", "DIV6", "DIV8"], default = "DIV2" } +PLL_P_Div = { type = "Integer", first = 2, last = 31, default = 2 } +PLL_Q_Enable = { type = "Boolean", default = true } +PLL_P_Enable = { type = "Boolean", default = true } +SYSCLK_Src = { type = "Enum", values = ["HSI16", "HSE", "PLLRCLK"], default = "PLLRCLK" } +AHB_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16", "DIV64", "DIV128", "DIV256", "DIV512"], default = "DIV1" } +APB1_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" } +APB2_Pre = { type = "Enum", values = ["DIV1", "DIV2", "DIV4", "DIV8", "DIV16"], default = "DIV1" } + +Interrupt_Stack_Size = { type = "Integer", first = 1, default = 1024 } +Interrupt_Secondary_Stack_Size = { type = "Integer", first = 1, default = 128 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:7581b638c41768de2fab6f9053896868bd20b6d8bdb13c91cb9e97b4a3631302", +"sha512:6422e88ea0dbe45262d9757f5ab9fd8f0afa1ea5739aad23392add056c26db1580f2dfa144b01c8a5588aac08047aa497335d2d23644e55227e54ebadc450dcc", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/embedded-stm32g4xx-15.2.0.tar.gz" + diff --git a/index/li/light_nrf52832/light_nrf52832-15.2.0.toml b/index/li/light_nrf52832/light_nrf52832-15.2.0.toml new file mode 100644 index 00000000..776d39f2 --- /dev/null +++ b/index/li/light_nrf52832/light_nrf52832-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_nrf52832" +description = "light runtime for the NRF52832 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:2bfe80e4f257c9065426718ec1320d9310f68ab52f75d3bbebad367b077cadff", +"sha512:ef55cd0062d6c5987a5a98703c798c8b4c22f78b43e7d91be57bd1df9c853c3f79d9fbe5f71848a6daca667dade81bdd0b2eda594bc4decd7b60790a0fee82c7", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-nrf52832-15.2.0.tar.gz" + diff --git a/index/li/light_nrf52833/light_nrf52833-15.2.0.toml b/index/li/light_nrf52833/light_nrf52833-15.2.0.toml new file mode 100644 index 00000000..60bce208 --- /dev/null +++ b/index/li/light_nrf52833/light_nrf52833-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_nrf52833" +description = "light runtime for the NRF52833 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:a25cc3cbad1f317c540f5a7b51d52dc6c193ca4b1b4d61daf99a854860799e5a", +"sha512:5b2c015f4b057b95a3692663a67f5f3ee6b6f5150c966f0a5ac9820502a2f36fd8e95a885aacc610bb9ea1a3f8d337165cd4baa61e281cea251edd5d22573209", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-nrf52833-15.2.0.tar.gz" + diff --git a/index/li/light_nrf52840/light_nrf52840-15.2.0.toml b/index/li/light_nrf52840/light_nrf52840-15.2.0.toml new file mode 100644 index 00000000..ff0ae2c5 --- /dev/null +++ b/index/li/light_nrf52840/light_nrf52840-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_nrf52840" +description = "light runtime for the NRF52840 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:80a1ff8eb72e778de413b6504ea93f8d4ed44e4f82a95428d687f14d9ff7ce58", +"sha512:24aaf52293ecaacb7f42cf230204d6729a1b13cf9bd89bf48009106f80d63dca08e3617d0bea98227293a379ee9a4f92a3baa82d92118f5286a35019a48c1a5c", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-nrf52840-15.2.0.tar.gz" + diff --git a/index/li/light_rp2040/light_rp2040-15.2.0.toml b/index/li/light_rp2040/light_rp2040-15.2.0.toml new file mode 100644 index 00000000..edb8d38b --- /dev/null +++ b/index/li/light_rp2040/light_rp2040-15.2.0.toml @@ -0,0 +1,91 @@ +name = "light_rp2040" +description = "light runtime for the RP2040 SoC" +version = "15.2.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:5369b43fb1939edd4d7841be9f74104f8cc896b222c81be312a3495fd24e5231", +"sha512:78250570012ecec430cf32c236ca28095b72bb7e45392828771ac87d4cab912dab69f9b9e2285f98f747a26b8d0996286fdf7673df31a493201318fcbaf104f4", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-rp2040-15.2.0.tar.gz" + diff --git a/index/li/light_rp2350/light_rp2350-15.2.0.toml b/index/li/light_rp2350/light_rp2350-15.2.0.toml new file mode 100644 index 00000000..4c29c481 --- /dev/null +++ b/index/li/light_rp2350/light_rp2350-15.2.0.toml @@ -0,0 +1,95 @@ +name = "light_rp2350" +description = "light runtime for the RP2350 SoC" +version = "15.2.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:bcc9310c533e37d6afa298faa25c41be87e226246f7be303e5bc23a12ec2a7fc", +"sha512:19d25a93352eda8c19bfabbe305e02645d9c60bdb09cad201c46962ef7d6f5014f1770dddebba575389c3a852b77fb4762b707bd8ce22c5a4b3c789b126e3f5a", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-rp2350-15.2.0.tar.gz" + diff --git a/index/li/light_stm32f0xx/light_stm32f0xx-15.2.0.toml b/index/li/light_stm32f0xx/light_stm32f0xx-15.2.0.toml new file mode 100644 index 00000000..0ef57403 --- /dev/null +++ b/index/li/light_stm32f0xx/light_stm32f0xx-15.2.0.toml @@ -0,0 +1,111 @@ +name = "light_stm32f0xx" +description = "light runtime for the STM32F0XX SoC" +version = "15.2.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" } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:bb540f5f2fd7b5a64c15b5cf3aad16bbbbf3590dc457878f42b1618fca6f6285", +"sha512:f7696319f82a4cb5ea38537a24ad88be3c6ee7481de36ea3bd9316fbd670eeb6dca0ae74c8e134f909b4019f32c97f793a9b9ecfef98ffb1acd1b17836a2b1d8", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-stm32f0xx-15.2.0.tar.gz" + diff --git a/index/li/light_stm32g0xx/light_stm32g0xx-15.2.0.toml b/index/li/light_stm32g0xx/light_stm32g0xx-15.2.0.toml new file mode 100644 index 00000000..c200ffe6 --- /dev/null +++ b/index/li/light_stm32g0xx/light_stm32g0xx-15.2.0.toml @@ -0,0 +1,144 @@ +name = "light_stm32g0xx" +description = "light runtime for the STM32G0XX SoC" +version = "15.2.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:1ca16c4b96afb41afda8cc24c3ea6b480308ec495775ac0eb19a337eeb72a9be", +"sha512:e5e586dad4f2d4de28b8d93e8969435cd25c69bfd258e4b6dda15251a9c0b114423c294dd3667011c974403b1785b41cd7d9a33bc9c94adbfb62801803587bef", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-stm32g0xx-15.2.0.tar.gz" + diff --git a/index/li/light_stm32g4xx/light_stm32g4xx-15.2.0.toml b/index/li/light_stm32g4xx/light_stm32g4xx-15.2.0.toml new file mode 100644 index 00000000..80312ed8 --- /dev/null +++ b/index/li/light_stm32g4xx/light_stm32g4xx-15.2.0.toml @@ -0,0 +1,143 @@ +name = "light_stm32g4xx" +description = "light runtime for the STM32G4XX SoC" +version = "15.2.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:3d3077c47a1ea5d16f4409ba157fe6e5d5959d990d90677fd79e9d2694bd5435", +"sha512:5a114b559b004e011d3ef40bee31a5c3b595855ab5e90a8d514577a6a4700c7f2ca180e60b0656a7c2edb9dfe912b5f1b0b7b51d7fc05a72bc213e2ccb859d00", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-stm32g4xx-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.2.0.toml b/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.2.0.toml new file mode 100644 index 00000000..8011421c --- /dev/null +++ b/index/li/light_tasking_nrf52832/light_tasking_nrf52832-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_tasking_nrf52832" +description = "light-tasking runtime for the NRF52832 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:8c6f47852949d6a4eff065ead9d1ec347ab9ec2463be94abd911d1f5ae9a1650", +"sha512:2706a9fc6e3596aec1d58183ab69a28f68febb02beb11afaedb62d84d64b68d0cb16a406b42feee9ff21254ae008a0463153a4b4d2b590b0f74b4a8417bbca46", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-nrf52832-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.2.0.toml b/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.2.0.toml new file mode 100644 index 00000000..782c14ab --- /dev/null +++ b/index/li/light_tasking_nrf52833/light_tasking_nrf52833-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_tasking_nrf52833" +description = "light-tasking runtime for the NRF52833 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:79aed51139bed2ba80708ea765993dd86ef11a2de3370f7888532b74880fae3d", +"sha512:7d91a5af4d8c9d4cb920755a6acfcba302cab34ce41a0db58014b6169ec1c5d579591f058efff21be4e215f5537a96f7e8d537254b46617f170b9a9cd6f4be05", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-nrf52833-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.2.0.toml b/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.2.0.toml new file mode 100644 index 00000000..b54fb2c3 --- /dev/null +++ b/index/li/light_tasking_nrf52840/light_tasking_nrf52840-15.2.0.toml @@ -0,0 +1,56 @@ +name = "light_tasking_nrf52840" +description = "light-tasking runtime for the NRF52840 SoC" +version = "15.2.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 } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:93b8a819f8db52cd22a1e2080d16b7d1b5a74383f882fc1a29fc437f4d16f5bb", +"sha512:57d397b6a163440cd91a0181b7810f361d7436d85ce2f4e8f916b4544293cdf6604ef4dc524d4ad99150a9a1b99e52608a2e657d387d1da885feae70ce92eb78", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-nrf52840-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_rp2040/light_tasking_rp2040-15.2.0.toml b/index/li/light_tasking_rp2040/light_tasking_rp2040-15.2.0.toml new file mode 100644 index 00000000..b5bfeb6b --- /dev/null +++ b/index/li/light_tasking_rp2040/light_tasking_rp2040-15.2.0.toml @@ -0,0 +1,92 @@ +name = "light_tasking_rp2040" +description = "light-tasking runtime for the RP2040 SoC" +version = "15.2.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:8e0bd80ed76cf95e4e123040dcdf57ad08771ee69b5c494deaee9c8e5d6ddec7", +"sha512:37b8fcebfd0373c681d0ca13459cc57c452e04cc4baad2c3437f62a7b4deffbf47a06be3f318225de80a25471b6bf26594cf1b70cf1e3d21e8a850aacc7ab3fc", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-rp2040-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_rp2350/light_tasking_rp2350-15.2.0.toml b/index/li/light_tasking_rp2350/light_tasking_rp2350-15.2.0.toml new file mode 100644 index 00000000..f4d1eaa1 --- /dev/null +++ b/index/li/light_tasking_rp2350/light_tasking_rp2350-15.2.0.toml @@ -0,0 +1,96 @@ +name = "light_tasking_rp2350" +description = "light-tasking runtime for the RP2350 SoC" +version = "15.2.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:ae6ecf4ffd68f5b7b99ab9f7d8fdfea573d85326a3c2a815419e6888c0696c97", +"sha512:9206960226d58af7b7fb600048ef966f1a6a8e13445df4c2c751cf5fef479622993ec6ded7038efebc45992ebb5bfa564b91d62046b3231b38859cadb7ea713a", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-rp2350-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.2.0.toml b/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.2.0.toml new file mode 100644 index 00000000..54a50500 --- /dev/null +++ b/index/li/light_tasking_stm32f0xx/light_tasking_stm32f0xx-15.2.0.toml @@ -0,0 +1,112 @@ +name = "light_tasking_stm32f0xx" +description = "light-tasking runtime for the STM32F0XX SoC" +version = "15.2.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" } + +[[depends-on]] +gnat_arm_elf = "^15" + +[origin] +hashes = [ +"sha256:29bfd05d8e8c2b303c763ffbb16982f353e9532d2bbfa50fa9616c57ca0cc97b", +"sha512:8c128327fc0418c70a5254401c1103ebf96aa375cdd00712d98e46e487843526f212599187ef2d92679ef6632afb342f6b2857caba372620d5cde98a061a625f", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-stm32f0xx-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.2.0.toml b/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.2.0.toml new file mode 100644 index 00000000..30b66dda --- /dev/null +++ b/index/li/light_tasking_stm32g0xx/light_tasking_stm32g0xx-15.2.0.toml @@ -0,0 +1,145 @@ +name = "light_tasking_stm32g0xx" +description = "light-tasking runtime for the STM32G0XX SoC" +version = "15.2.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:95ca9779c6137e68413cfe72e3f5ceb17b49572a316e9980f8b2c1f6deabf37c", +"sha512:526699dfdb5928079e350384f0cdf7887104ed626668b6e3bd13a1ae5a784d394c1a8f883aac90238dcd4863531b38b8ae7bdd35e7d1e3a28d574b5278dfedf6", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-stm32g0xx-15.2.0.tar.gz" + diff --git a/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.2.0.toml b/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.2.0.toml new file mode 100644 index 00000000..d34e292e --- /dev/null +++ b/index/li/light_tasking_stm32g4xx/light_tasking_stm32g4xx-15.2.0.toml @@ -0,0 +1,144 @@ +name = "light_tasking_stm32g4xx" +description = "light-tasking runtime for the STM32G4XX SoC" +version = "15.2.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:8c653d8c46cef9dd638a097e0d6b492e465e3000e76410482ef69d4e6c95cd46", +"sha512:cc4ffa82d8bb9b6bd2c8dd81e3d2127308e1fd0101bc3df1f418a532a0e3e2da64f6026cf7a7b6e93b28ec02a4ead2430a3c52880efde5ffc8a2bd91173d8af7", +] +url = "https://github.com/damaki/community-bb-runtimes/releases/download/v15.2.0/light-tasking-stm32g4xx-15.2.0.tar.gz" +