Test ran at 2025-07-22 12:45:03.122865+00:00 SOLUTION: light_tasking_stm32g0xx=15.0.0: light-tasking runtime for the STM32G0xx SoC Origin: source archive light-tasking-stm32g0xx-15.0.0.tar.gz at https://github.com/damaki/stm32g0xx-runtimes/releases/download/v15.0.0/light-tasking-stm32g0xx-15.0.0.tar.gz with hashes sha256:b1bb4a3492960c962ed3fdd09f11fdc56f57d6f7cf491198e9d4f9dbbd93a0ad, sha512:71225a0e0595f1cf7f6ff5b59842f4fdcfd9cd55cf64b1bac240d1e2a9e161a30c17e57e9dee91d787702a27054c4364af244d2f2349536da22b0c81b589bbcb Properties: Author: AdaCore Author: Daniel King Config type: AHB_Pre : Enum (DIV1, DIV2, DIV4, DIV8, DIV16, DIV64, DIV128, DIV256, DIV512) default: 'DIV1' Config type: APB_Pre : Enum (DIV1, DIV2, DIV4, DIV8, DIV16) default: 'DIV1' Config type: HSE_Bypass : Boolean default: 'false' Config type: HSE_Clock_Frequency : Integer range 1 .. 48000000 default: '8000000' Config type: HSI_Div : Enum (DIV1, DIV2, DIV4, DIV8, DIV16, DIV32, DIV64, DIV128) default: 'DIV1' Config type: Interrupt_Secondary_Stack_Size : Integer range 1 .. 9223372036854775807 default: '128' Config type: Interrupt_Stack_Size : Integer range 1 .. 9223372036854775807 default: '1024' Config type: LSE_Bypass : Boolean default: 'false' Config type: LSE_Enabled : Boolean default: 'false' Config type: LSI_Enabled : Boolean default: 'true' Config type: MCU_Flash_Memory_Size : String default: 'B' Config type: MCU_Sub_Family : Enum (G030, G031, G041, G050, G051, G061, G070, G071, G081, G0B0, G0B1, G0C1) default: 'G0B1' Config type: PLL_M_Div : Integer range 1 .. 8 default: '2' Config type: PLL_N_Mul : Integer range 8 .. 86 default: '16' Config type: PLL_P_Div : Integer range 2 .. 32 default: '2' Config type: PLL_P_Enable : Boolean default: 'true' Config type: PLL_Q_Div : Integer range 2 .. 8 default: '2' Config type: PLL_Q_Enable : Boolean default: 'true' Config type: PLL_R_Div : Integer range 2 .. 8 default: '2' Config type: PLL_Src : Enum (HSE, HSI16) default: 'HSI16' Config type: RAM_Parity_Check : Enum (Disabled, Enabled) default: 'Disabled' Config type: SYSCLK_Src : Enum (LSE, LSI, HSE, PLLRCLK, HSISYS) default: 'PLLRCLK' Configuration: no modifiers Description: light-tasking runtime for the STM32G0xx SoC License: GPL-3.0-or-later WITH GCC-exception-3.1 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 file. 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_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 ``` Maintainer: Daniel King Maintainers_Logins: damaki Name: light_tasking_stm32g0xx Project_File: runtime_build.gpr Project_File: ravenscar_build.gpr Tag: embedded Tag: runtime Tag: stm32g0 Version: 15.0.0 Website: https://github.com/damaki/stm32g0xx-runtimes Dependencies (direct): gnat_arm_elf^15 Dependencies (solution): gnat_arm_elf=15.1.2 Dependencies (graph): light_tasking_stm32g0xx=15.0.0 --> gnat_arm_elf=15.1.2 (^15) LOG: [alr test] Testing light_tasking_stm32g0xx=15.0.0 [alr test] Spawning retrieval for remote crate: alr -d -n get light_tasking_stm32g0xx=15.0.0 Note: Deploying light_tasking_stm32g0xx=15.0.0... #=#=# ######################################################################## 100.0% light_tasking_stm32g0xx=15.0.0 successfully retrieved. Dependencies were solved as follows: +b gnat_arm_elf 15.1.2 (new,binary) [alr test] Spawning default test for remote crate: alr -d -n build --release -- -cargs:Ada -gnatwn Note: Building light_tasking_stm32g0xx=15.0.0/runtime_build.gpr (1/2)... Setup [mkdir] object directory for project Runtime_Build [mkdir] library directory for project Runtime_Build Compile [Asm_Cpp] start-ram.S [Asm_Cpp] handler.S [Asm_Cpp] start-rom.S [Asm_Cpp] breakpoint_handler-cortexm.S [Ada] s-memset.adb [Ada] machcode.ads [Ada] s-exponu.adb [Ada] s-pack55.adb [Ada] s-pack23.adb [Ada] s-caun64.adb [Ada] s-imagef.adb [Ada] s-libpre.ads [Ada] s-pack35.adb [Ada] s-bitops.adb [Ada] s-fatflt.ads [Ada] s-pack38.adb [Ada] s-pack52.adb [Ada] s-imagen.adb [Ada] s-flocon.adb [Ada] s-valuti.adb [Ada] a-nuelfu.ads [Ada] s-gcmain.adb [Ada] s-exnint.ads [Ada] s-vafi64.ads [Ada] a-uncdea.ads [Ada] a-chlat1.ads [Ada] s-widlli.ads [Ada] s-pack42.adb [Ada] s-retsta.ads [Ada] s-expint.ads [Ada] s-imagei.adb [Ada] s-pack44.adb [Ada] s-secsta.adb [Ada] setup_pll.adb [Ada] s-caun32.adb [Ada] s-fatlfl.ads [Ada] s-pack20.adb [Ada] s-imguti.adb [Ada] s-powlfl.ads [Ada] s-casuti.adb [Ada] s-stache.adb [Ada] s-arit64.adb [Ada] s-valflt.ads [Ada] s-imenu8.ads [Ada] s-expmod.adb [Ada] i-stm32.ads [Ada] s-bb.ads [Ada] s-pack46.adb [Ada] s-casi32.adb [Ada] s-powllf.ads [Ada] ada.ads [Ada] s-vs_int.ads [Ada] s-imager.adb [Ada] s-pack28.adb [Ada] s-pack58.adb [Ada] s-expuns.ads [Ada] s-vs_llu.ads [Ada] a-stmaco.ads [Ada] a-charac.ads [Ada] a-textio.adb [Ada] s-exnlli.ads [Ada] s-imen32.ads [Ada] s-pack63.adb [Ada] s-pack30.adb [Ada] a-strsup.adb [Ada] s-vaenu8.ads [Ada] s-bbarat.adb [Ada] s-valint.ads [Ada] s-imde64.ads [Ada] s-arit32.adb [Ada] s-fatllf.ads [Ada] s-imgboo.adb [Ada] s-casi64.adb [Ada] s-valrea.adb [Ada] s-pack59.adb [Ada] s-pack14.adb [Ada] s-exnllf.ads [Ada] s-lidosq.adb [Ada] s-imgcha.adb [Ada] i-cpoint.adb [Ada] s-valcha.adb [Ada] s-bbbopa.ads [Ada] s-pack26.adb [Ada] s-pack49.adb [Ada] s-pack39.adb [Ada] s-pack43.adb [Ada] interfac.ads [Ada] s-imgflt.ads [Ada] s-pack61.adb [Ada] s-pack54.adb [Ada] s-imageu.adb [Ada] s-spcuop.adb [Ada] s-pack37.adb [Ada] a-nlelfu.ads [Ada] s-pack33.adb [Ada] s-memcop.adb [Ada] s-imguns.ads [Ada] s-veboop.adb [Ada] s-libm.adb [Ada] s-memtyp.ads [Ada] text_io.ads [Ada] s-assert.adb [Ada] s-valuns.ads [Ada] a-nubinu.ads [Ada] s-pack19.adb [Ada] i-cstrin.adb [Ada] s-fatgen.adb [Ada] s-valllf.ads [Ada] s-valspe.adb [Ada] s-valllu.ads [Ada] s-pack11.adb [Ada] s-carun8.adb [Ada] s-semiho.adb [Ada] s-pack60.adb [Ada] s-unstyp.ads [Ada] s-vauspe.adb [Ada] a-assert.adb [Ada] s-imfi64.ads [Ada] s-pack06.adb [Ada] a-unccon.ads [Ada] s-expont.adb [Ada] s-exponn.adb [Ada] s-imglli.ads [Ada] s-imde32.ads [Ada] s-dourea.adb [Ada] g-sestin.ads [Ada] s-exnflt.ads [Ada] s-spark.ads [Ada] s-pack45.adb [Ada] s-lisisq.adb [Ada] a-string.ads [Ada] g-souinf.ads [Ada] s-bbpara.ads [Ada] s-pack50.adb [Ada] s-imgint.ads [Ada] s-widthu.adb [Ada] s-caun16.adb [Ada] s-memmov.adb [Ada] s-valuef.adb [Ada] s-pack18.adb [Ada] s-vallli.ads [Ada] s-pack10.adb [Ada] unchdeal.ads [Ada] s-valuer.adb [Ada] s-valboo.adb [Ada] s-valuen.adb [Ada] s-casi16.adb [Ada] s-widllu.ads [Ada] s-carsi8.adb [Ada] i-c.adb [Ada] s-valueu.adb [Ada] s-widthi.adb [Ada] s-pack36.adb [Ada] s-memcom.adb [Ada] s-widuns.ads [Ada] s-vade64.ads [Ada] s-pack53.adb [Ada] s-imen16.ads [Ada] a-tags.adb [Ada] s-valuei.adb [Ada] a-chahan.adb [Ada] s-pack51.adb [Ada] s-pack05.adb [Ada] s-vs_uns.ads [Ada] s-atacco.adb [Ada] s-libdou.adb [Ada] s-vs_lli.ads [Ada] s-explli.ads [Ada] system.ads [Ada] s-vaispe.adb [Ada] s-pack31.adb [Ada] a-except.adb [Ada] s-pack47.adb [Ada] s-exponr.adb [Ada] s-imgllw.ads [Ada] s-textio.adb [Ada] s-pack27.adb [Ada] i-stm32-rcc.ads [Ada] s-vaen16.ads [Ada] s-pack17.adb [Ada] gnat.ads [Ada] s-vafi32.ads [Ada] s-imfi32.ads [Ada] s-imgllf.ads [Ada] i-cexten.ads [Ada] s-imgllu.ads [Ada] s-pack34.adb [Ada] s-imaged.adb [Ada] a-strbou.adb [Ada] s-pack25.adb [Ada] a-strsea.adb [Ada] s-libsin.adb [Ada] s-vallfl.ads [Ada] s-pack29.adb [Ada] s-pack57.adb [Ada] s-powflt.ads [Ada] a-ngelfu.adb [Ada] s-aridou.adb [Ada] s-exnlfl.ads [Ada] s-pack62.adb [Ada] a-numaux.ads [Ada] a-nllefu.ads [Ada] s-macres.adb [Ada] s-bbmcpa.ads [Ada] s-pack13.adb [Ada] s-pack41.adb [Ada] s-pack21.adb [Ada] s-pack12.adb [Ada] s-vade32.ads [Ada] s-boarop.ads [Ada] s-vector.ads [Ada] s-memory.adb [Ada] s-pack09.adb [Ada] s-sssita.adb [Ada] s-pack07.adb [Ada] s-bytswa.ads [Ada] a-numeri.ads [Ada] s-pack22.adb [Ada] a-strmap.adb [Ada] s-valued.adb [Ada] s-pack15.adb [Ada] s-atopri.adb [Ada] s-imglfl.ads [Ada] s-maccod.ads [Ada] s-addope.adb [Ada] s-imagew.adb [Ada] s-geveop.adb [Ada] a-nbnbig.adb [Ada] a-elchha.adb [Ada] s-imgwiu.ads [Ada] s-vaen32.ads [Ada] g-io.adb [Ada] a-strfix.adb [Ada] s-pack03.adb [Ada] s-widint.ads [Ada] s-parame.adb [Ada] i-stm32-flash.ads [Ada] g-debuti.adb [Ada] s-expllu.ads [Ada] s-atocou.adb [Ada] s-stoele.adb [Ada] unchconv.ads [Ada] a-nselfu.ads [Ada] light_tasking_stm32g0xx_config.ads [Ada] stm32g0xx_runtime_config.ads Build Libraries [gprlib] gnat.lexch [archive] libgnat.a [index] libgnat.a Note: Building light_tasking_stm32g0xx=15.0.0/ravenscar_build.gpr (2/2)... Compile [Ada] s-bbthqu.adb [Ada] s-tasdeb.adb [Ada] s-musplo.adb [Ada] s-interr.adb [Ada] a-synbar.adb [Ada] s-bbthre.adb [Ada] a-extiin.adb [Ada] a-taster.adb [Ada] s-reldel.adb [Ada] s-osinte.ads [Ada] a-sytaco.adb [Ada] s-bbbosu.adb [Ada] s-rident.ads [Ada] s-tpobop.adb [Ada] s-tasinf.adb [Ada] a-rttiev.adb [Ada] a-interr.adb [Ada] s-taskin.adb [Ada] s-bbtiev.adb [Ada] s-bbexti.adb [Ada] s-bbcpsp.ads [Ada] s-bbinte.adb [Ada] s-tasres.ads [Ada] s-restri.adb [Ada] s-tasque.adb [Ada] a-taside.adb [Ada] s-bcprmu.adb [Ada] s-mufalo.adb [Ada] s-bbcppr.adb [Ada] s-bbtime.adb [Ada] a-exetim.adb [Ada] s-tpobmu.adb [Ada] s-tarest.adb [Ada] s-taprop.adb [Ada] a-reatim.adb [Ada] s-taspri.ads [Ada] s-bcpcst.adb [Ada] s-tposen.adb [Ada] s-multip.adb [Ada] s-taprob.adb [Ada] s-tpoben.adb [Ada] a-retide.adb [Ada] s-bbprot.adb [Ada] a-intnam-g0x1.ads Build Libraries [gprlib] gnarl.lexch [archive] libgnarl.a [index] libgnarl.a Success: Build finished successfully in 8.44 seconds. Found declared GPR file: runtime_build.gpr Found declared GPR file: ravenscar_build.gpr [alr test] Test completed SUCCESSFULLY