From 5fb671c3f470da9ee667df9575814f7eb10ec55f Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Thu, 14 Sep 2023 20:23:47 +0200 Subject: [PATCH 01/16] Update nrf52 handling of the zephyr counter drivers --- .../lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay | 3 +++ .../lib/platform/zephyr/boards/nrf52dk_nrf52832_lf.conf | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay delete mode 100644 core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832_lf.conf diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay b/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay new file mode 100644 index 0000000000..30472cd1fb --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay @@ -0,0 +1,3 @@ +&timer1 { + status = "okay"; +}; \ No newline at end of file diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832_lf.conf b/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832_lf.conf deleted file mode 100644 index 8bc7cfdbc5..0000000000 --- a/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832_lf.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_COUNTER_TIMER1=y From c69a519847ae761a13f7d0e64922f88a8bd74fe2 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Fri, 15 Sep 2023 09:58:18 +0200 Subject: [PATCH 02/16] Add board-specific tests to the Zephyr regressions tests. We just make sure that HelloWorld programs compile for different boards. --- .gitmodules | 2 +- .../java/org/lflang/tests/runtime/CZephyrTest.java | 12 ++++++++++++ .../lib/platform/zephyr/boards/arduino_due.overlay | 4 ++++ .../platform/zephyr/boards/bl5340_dvk_cpuapp.conf | 5 +++++ .../zephyr/boards/bl5340_dvk_cpuapp.overlay | 12 ++++++++++++ .../platform/zephyr/boards/esp32c3_devkitm.overlay | 3 +++ .../platform/zephyr/boards/esp32s2_saola.overlay | 3 +++ .../platform/zephyr/boards/esp32s3_devkitm.overlay | 3 +++ .../platform/zephyr/boards/gd32e103v_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32e507v_start.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32e507z_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f350r_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f403z_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f407v_start.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f450i_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f450v_start.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f450z_eval.overlay | 10 ++++++++++ .../platform/zephyr/boards/gd32f470i_eval.overlay | 10 ++++++++++ .../zephyr/boards/nrf51dk_nrf51422.overlay | 3 +++ .../zephyr/boards/nrf52840dk_nrf52840.overlay | 3 +++ .../zephyr/boards/nrf9160dk_nrf9160.overlay | 3 +++ .../zephyr/boards/s32z270dc2_rtu0_r52.overlay | 10 ++++++++++ .../zephyr/boards/s32z270dc2_rtu1_r52.overlay | 10 ++++++++++ .../lib/platform/zephyr/boards/sam4e_xpro.overlay | 4 ++++ .../platform/zephyr/boards/sam4s_xplained.overlay | 4 ++++ .../zephyr/boards/sam_e70_xplained.overlay | 4 ++++ .../zephyr/boards/sam_e70b_xplained.overlay | 4 ++++ .../platform/zephyr/boards/sam_v71_xult.overlay | 4 ++++ .../platform/zephyr/boards/sam_v71b_xult.overlay | 4 ++++ .../zephyr/boards/stm32h735g_disco.overlay | 6 ++++++ .../platform/zephyr/boards/stm32l562e_dk_ns.conf | 7 +++++++ .../java/org/lflang/tests/TestRegistry.java | 1 + test/C/src/zephyr/boards/ArduinoDue.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/ESP32.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/GD32.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/NRF52.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/NXPIMXRT1170.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/NXPS32.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/SAM.lf | 14 ++++++++++++++ test/C/src/zephyr/boards/STM32.lf | 12 ++++++++++++ 40 files changed, 320 insertions(+), 1 deletion(-) create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/arduino_due.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.conf create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/esp32c3_devkitm.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/esp32s2_saola.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/esp32s3_devkitm.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32e103v_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32e507v_start.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32e507z_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f350r_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f403z_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f407v_start.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f450i_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f450v_start.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f450z_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/gd32f470i_eval.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/nrf51dk_nrf51422.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/nrf52840dk_nrf52840.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/nrf9160dk_nrf9160.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu0_r52.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu1_r52.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam4e_xpro.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam4s_xplained.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam_e70_xplained.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam_e70b_xplained.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam_v71_xult.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/sam_v71b_xult.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/stm32h735g_disco.overlay create mode 100644 core/src/main/resources/lib/platform/zephyr/boards/stm32l562e_dk_ns.conf create mode 100644 test/C/src/zephyr/boards/ArduinoDue.lf create mode 100644 test/C/src/zephyr/boards/ESP32.lf create mode 100644 test/C/src/zephyr/boards/GD32.lf create mode 100644 test/C/src/zephyr/boards/NRF52.lf create mode 100644 test/C/src/zephyr/boards/NXPIMXRT1170.lf create mode 100644 test/C/src/zephyr/boards/NXPS32.lf create mode 100644 test/C/src/zephyr/boards/SAM.lf create mode 100644 test/C/src/zephyr/boards/STM32.lf diff --git a/.gitmodules b/.gitmodules index 9cd89ffe1a..1eaef285c7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "org.lflang/src/lib/c/reactor-c"] path = core/src/main/resources/lib/c/reactor-c - url = https://github.com/lf-lang/reactor-c.git + url = git@github.com:lf-lang/reactor-c.git [submodule "org.lflang/src/lib/cpp/reactor-cpp"] path = core/src/main/resources/lib/cpp/reactor-cpp url = https://github.com/lf-lang/reactor-cpp diff --git a/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java b/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java index 145f4b1d53..6ab2490abe 100644 --- a/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java +++ b/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java @@ -55,6 +55,18 @@ public void buildZephyrUnthreadedTests() { false); } + @Test + public void buildZephyrBoardTests() { + Assumptions.assumeTrue(isLinux(), "Zephyr tests only run on Linux"); + super.runTestsFor( + List.of(Target.C), + Message.DESC_ZEPHYR, + TestCategory.ZEPHYR_BOARDS::equals, + Configurators::noChanges, + TestLevel.BUILD, + false); + } + @Test public void buildZephyrThreadedTests() { Assumptions.assumeTrue(isLinux(), "Zephyr tests only run on Linux"); diff --git a/core/src/main/resources/lib/platform/zephyr/boards/arduino_due.overlay b/core/src/main/resources/lib/platform/zephyr/boards/arduino_due.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/arduino_due.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.conf b/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.conf new file mode 100644 index 0000000000..c9e4c07698 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.conf @@ -0,0 +1,5 @@ +# Enable RTC +CONFIG_I2C=y +CONFIG_COUNTER=y +CONFIG_COUNTER_MICROCHIP_MCP7940N=y +CONFIG_COUNTER_INIT_PRIORITY=65 diff --git a/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.overlay b/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.overlay new file mode 100644 index 0000000000..7869ff34ea --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/bl5340_dvk_cpuapp.overlay @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2021 Laird Connectivity + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&i2c1 { + /* Connect MCP7940N MFP pin TP9 to P0.04 */ + extrtc0: mcp7940n@6f { + int-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/esp32c3_devkitm.overlay b/core/src/main/resources/lib/platform/zephyr/boards/esp32c3_devkitm.overlay new file mode 100644 index 0000000000..241947b064 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/esp32c3_devkitm.overlay @@ -0,0 +1,3 @@ +&timer0 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/esp32s2_saola.overlay b/core/src/main/resources/lib/platform/zephyr/boards/esp32s2_saola.overlay new file mode 100644 index 0000000000..241947b064 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/esp32s2_saola.overlay @@ -0,0 +1,3 @@ +&timer0 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/esp32s3_devkitm.overlay b/core/src/main/resources/lib/platform/zephyr/boards/esp32s3_devkitm.overlay new file mode 100644 index 0000000000..241947b064 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/esp32s3_devkitm.overlay @@ -0,0 +1,3 @@ +&timer0 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32e103v_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32e103v_eval.overlay new file mode 100644 index 0000000000..abebc86c8e --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32e103v_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <29999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32e507v_start.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32e507v_start.overlay new file mode 100644 index 0000000000..9e20c4e607 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32e507v_start.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <44999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32e507z_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32e507z_eval.overlay new file mode 100644 index 0000000000..9e20c4e607 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32e507z_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <44999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f350r_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f350r_eval.overlay new file mode 100644 index 0000000000..7b0464653b --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f350r_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <26999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f403z_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f403z_eval.overlay new file mode 100644 index 0000000000..06918e09dd --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f403z_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <41999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f407v_start.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f407v_start.overlay new file mode 100644 index 0000000000..06918e09dd --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f407v_start.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <41999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f450i_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450i_eval.overlay new file mode 100644 index 0000000000..ac50bfbe62 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450i_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <49999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f450v_start.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450v_start.overlay new file mode 100644 index 0000000000..ac50bfbe62 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450v_start.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <49999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f450z_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450z_eval.overlay new file mode 100644 index 0000000000..ac50bfbe62 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f450z_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <49999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/gd32f470i_eval.overlay b/core/src/main/resources/lib/platform/zephyr/boards/gd32f470i_eval.overlay new file mode 100644 index 0000000000..9ed334331f --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/gd32f470i_eval.overlay @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright (c) 2022 TOKITA Hiroshi + */ + +&timer0 { + status = "okay"; + prescaler = <59999>; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf51dk_nrf51422.overlay b/core/src/main/resources/lib/platform/zephyr/boards/nrf51dk_nrf51422.overlay new file mode 100644 index 0000000000..0c88903dc5 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/nrf51dk_nrf51422.overlay @@ -0,0 +1,3 @@ +&timer1 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf52840dk_nrf52840.overlay b/core/src/main/resources/lib/platform/zephyr/boards/nrf52840dk_nrf52840.overlay new file mode 100644 index 0000000000..5e37ad9fff --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/nrf52840dk_nrf52840.overlay @@ -0,0 +1,3 @@ +&rtc0 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf9160dk_nrf9160.overlay b/core/src/main/resources/lib/platform/zephyr/boards/nrf9160dk_nrf9160.overlay new file mode 100644 index 0000000000..5e37ad9fff --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/nrf9160dk_nrf9160.overlay @@ -0,0 +1,3 @@ +&rtc0 { + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu0_r52.overlay b/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu0_r52.overlay new file mode 100644 index 0000000000..e0f2025d37 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu0_r52.overlay @@ -0,0 +1,10 @@ +/* + * Copyright 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&stm0 { + prescaler = <1>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu1_r52.overlay b/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu1_r52.overlay new file mode 100644 index 0000000000..e0f2025d37 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/s32z270dc2_rtu1_r52.overlay @@ -0,0 +1,10 @@ +/* + * Copyright 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&stm0 { + prescaler = <1>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam4e_xpro.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam4e_xpro.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam4e_xpro.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam4s_xplained.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam4s_xplained.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam4s_xplained.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam_e70_xplained.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam_e70_xplained.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam_e70_xplained.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam_e70b_xplained.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam_e70b_xplained.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam_e70b_xplained.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam_v71_xult.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam_v71_xult.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam_v71_xult.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/sam_v71b_xult.overlay b/core/src/main/resources/lib/platform/zephyr/boards/sam_v71b_xult.overlay new file mode 100644 index 0000000000..12087adfaa --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/sam_v71b_xult.overlay @@ -0,0 +1,4 @@ +&tc0 { + clk = <4>; + status = "okay"; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/stm32h735g_disco.overlay b/core/src/main/resources/lib/platform/zephyr/boards/stm32h735g_disco.overlay new file mode 100644 index 0000000000..00a10669ba --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/stm32h735g_disco.overlay @@ -0,0 +1,6 @@ +&timers2 { + st,prescaler = <83>; + counter { + status = "okay"; + }; +}; diff --git a/core/src/main/resources/lib/platform/zephyr/boards/stm32l562e_dk_ns.conf b/core/src/main/resources/lib/platform/zephyr/boards/stm32l562e_dk_ns.conf new file mode 100644 index 0000000000..52d11aac39 --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/boards/stm32l562e_dk_ns.conf @@ -0,0 +1,7 @@ +# +# Copyright (c) 2022 O.S.Systems +# +# SPDX-License-Identifier: Apache-2.0 +# +CONFIG_BUILD_WITH_TFM=y +CONFIG_TFM_PROFILE_TYPE_MEDIUM=y diff --git a/core/src/testFixtures/java/org/lflang/tests/TestRegistry.java b/core/src/testFixtures/java/org/lflang/tests/TestRegistry.java index 17b9984652..1ffa93905b 100644 --- a/core/src/testFixtures/java/org/lflang/tests/TestRegistry.java +++ b/core/src/testFixtures/java/org/lflang/tests/TestRegistry.java @@ -334,6 +334,7 @@ public enum TestCategory { ARDUINO(false, "", TestLevel.BUILD), ZEPHYR_THREADED(false, "zephyr" + File.separator + "threaded", TestLevel.BUILD), ZEPHYR_UNTHREADED(false, "zephyr" + File.separator + "unthreaded", TestLevel.BUILD), + ZEPHYR_BOARDS(false, "zephyr" + File.separator + "boards", TestLevel.BUILD), VERIFIER(false, "verifier", TestLevel.EXECUTION), TARGET(false, "", TestLevel.EXECUTION); diff --git a/test/C/src/zephyr/boards/ArduinoDue.lf b/test/C/src/zephyr/boards/ArduinoDue.lf new file mode 100644 index 0000000000..8bc1358c10 --- /dev/null +++ b/test/C/src/zephyr/boards/ArduinoDue.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: arduino_due + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/ESP32.lf b/test/C/src/zephyr/boards/ESP32.lf new file mode 100644 index 0000000000..4e1a6936c3 --- /dev/null +++ b/test/C/src/zephyr/boards/ESP32.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: esp32 + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/GD32.lf b/test/C/src/zephyr/boards/GD32.lf new file mode 100644 index 0000000000..2cee0ef537 --- /dev/null +++ b/test/C/src/zephyr/boards/GD32.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: gd32f403z_eval + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/NRF52.lf b/test/C/src/zephyr/boards/NRF52.lf new file mode 100644 index 0000000000..4d2a4fa551 --- /dev/null +++ b/test/C/src/zephyr/boards/NRF52.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: nrf52dk_nrf52832 + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/NXPIMXRT1170.lf b/test/C/src/zephyr/boards/NXPIMXRT1170.lf new file mode 100644 index 0000000000..f3f36a22bb --- /dev/null +++ b/test/C/src/zephyr/boards/NXPIMXRT1170.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: mimxrt1170_evk_cm7 + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/NXPS32.lf b/test/C/src/zephyr/boards/NXPS32.lf new file mode 100644 index 0000000000..64bb94f46d --- /dev/null +++ b/test/C/src/zephyr/boards/NXPS32.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: s32z270dc2_rtu0_r52 + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/SAM.lf b/test/C/src/zephyr/boards/SAM.lf new file mode 100644 index 0000000000..32641481d0 --- /dev/null +++ b/test/C/src/zephyr/boards/SAM.lf @@ -0,0 +1,14 @@ +target C { + platform: { + name: Zephyr, + board: sam4s_xplained + } +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} diff --git a/test/C/src/zephyr/boards/STM32.lf b/test/C/src/zephyr/boards/STM32.lf new file mode 100644 index 0000000000..c849ea0f30 --- /dev/null +++ b/test/C/src/zephyr/boards/STM32.lf @@ -0,0 +1,12 @@ +target C { + platform: "Zephyr", + board: stm32f4_disco +} + +main reactor { + timer t(0, 1 sec) + + reaction(t) {= + printf("Hello\n"); + =} +} From ff7f93f2dd09daa23779e3658116142f00c9e26d Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Fri, 15 Sep 2023 09:58:38 +0200 Subject: [PATCH 03/16] Add a small README to explain Zephr board files in our source tree --- core/src/main/resources/lib/platform/zephyr/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 core/src/main/resources/lib/platform/zephyr/README.md diff --git a/core/src/main/resources/lib/platform/zephyr/README.md b/core/src/main/resources/lib/platform/zephyr/README.md new file mode 100644 index 0000000000..a0d92819ec --- /dev/null +++ b/core/src/main/resources/lib/platform/zephyr/README.md @@ -0,0 +1,3 @@ +# Zephyr platform files +These are files needed to compile LF programs for the Zephyr target. +All of the files in the `boards` directory are for enabling a Timer peripheral for different devices so that we can use a Counter device for time-keeping. These device tree config overlays are copied from the `alarm` example found in the zephyr source tree under `samples/drivers/counter/alarm`. \ No newline at end of file From e841d6453f295e919325df0dae4abc67fd9f2d28 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Fri, 15 Sep 2023 09:59:04 +0200 Subject: [PATCH 04/16] Do not generate CMake code for linking with Threads library when we are targeting Zephyr --- .../org/lflang/generator/c/CCmakeGenerator.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java b/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java index 0ee24fc39a..ea1db3713e 100644 --- a/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java +++ b/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java @@ -326,25 +326,23 @@ CodeBuilder generateCMakeCode( cMakeCode.newLine(); } - if (targetConfig.threading) { + if (targetConfig.threading && targetConfig.platformOptions.platform != Platform.ZEPHYR) { // If threaded computation is requested, add the threads option. cMakeCode.pr("# Find threads and link to it"); cMakeCode.pr("find_package(Threads REQUIRED)"); cMakeCode.pr("target_link_libraries(${LF_MAIN_TARGET} PRIVATE Threads::Threads)"); cMakeCode.newLine(); - // If the LF program itself is threaded, we need to define NUMBER_OF_WORKERS so that - // platform-specific C files will contain the appropriate functions + } + + // Add additional flags so runtime can distinguish between multi-threaded and single-threaded + // mode + if (targetConfig.threading) { cMakeCode.pr("# Set the number of workers to enable threading/tracing"); cMakeCode.pr( "target_compile_definitions(${LF_MAIN_TARGET} PUBLIC NUMBER_OF_WORKERS=" + targetConfig.workers + ")"); cMakeCode.newLine(); - } - - // Add additional flags so runtime can distinguish between multi-threaded and single-threaded - // mode - if (targetConfig.threading) { cMakeCode.pr("# Set flag to indicate a multi-threaded runtime"); cMakeCode.pr("target_compile_definitions( ${LF_MAIN_TARGET} PUBLIC LF_THREADED=1)"); } else { From 75646f90fa1082e2e719208ea6833fddfa096106 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Fri, 15 Sep 2023 10:04:31 +0200 Subject: [PATCH 05/16] Spotless --- core/src/main/resources/lib/platform/zephyr/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/lib/platform/zephyr/README.md b/core/src/main/resources/lib/platform/zephyr/README.md index a0d92819ec..f74132f2a9 100644 --- a/core/src/main/resources/lib/platform/zephyr/README.md +++ b/core/src/main/resources/lib/platform/zephyr/README.md @@ -1,3 +1,3 @@ # Zephyr platform files -These are files needed to compile LF programs for the Zephyr target. -All of the files in the `boards` directory are for enabling a Timer peripheral for different devices so that we can use a Counter device for time-keeping. These device tree config overlays are copied from the `alarm` example found in the zephyr source tree under `samples/drivers/counter/alarm`. \ No newline at end of file +These are files needed to compile LF programs for the Zephyr target. +All of the files in the `boards` directory are for enabling a Timer peripheral for different devices so that we can use a Counter device for time-keeping. These device tree config overlays are copied from the `alarm` example found in the zephyr source tree under `samples/drivers/counter/alarm`. From b0adb56350526c6210906befcb47c55bb2396d23 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Fri, 15 Sep 2023 10:04:50 +0200 Subject: [PATCH 06/16] Bump reactor-c to include cmake fix --- core/src/main/resources/lib/c/reactor-c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/lib/c/reactor-c b/core/src/main/resources/lib/c/reactor-c index 9760f233d4..7e031ec140 160000 --- a/core/src/main/resources/lib/c/reactor-c +++ b/core/src/main/resources/lib/c/reactor-c @@ -1 +1 @@ -Subproject commit 9760f233d4b1d2653e61c7feb7e3e1379d6e8344 +Subproject commit 7e031ec1400fbebc1f90a7ce41fa10ffa40549d2 From 7b2c92b7a8d7c5e013d2652592ed2f62ae894764 Mon Sep 17 00:00:00 2001 From: erling Date: Fri, 15 Sep 2023 10:09:56 +0200 Subject: [PATCH 07/16] Update .gitmodules --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 1eaef285c7..9cd89ffe1a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "org.lflang/src/lib/c/reactor-c"] path = core/src/main/resources/lib/c/reactor-c - url = git@github.com:lf-lang/reactor-c.git + url = https://github.com/lf-lang/reactor-c.git [submodule "org.lflang/src/lib/cpp/reactor-cpp"] path = core/src/main/resources/lib/cpp/reactor-cpp url = https://github.com/lf-lang/reactor-cpp From ab439109823b91a55b92a4808c3b9648aad7be82 Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 11:04:36 +0200 Subject: [PATCH 08/16] Exclude Zephyr board tests from the other C regression tests --- core/src/testFixtures/java/org/lflang/tests/Configurators.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/testFixtures/java/org/lflang/tests/Configurators.java b/core/src/testFixtures/java/org/lflang/tests/Configurators.java index 4191687278..5929f2a5af 100644 --- a/core/src/testFixtures/java/org/lflang/tests/Configurators.java +++ b/core/src/testFixtures/java/org/lflang/tests/Configurators.java @@ -115,6 +115,7 @@ public static boolean compatibleWithThreadingOff(TestCategory category) { || category == TestCategory.ARDUINO || category == TestCategory.VERIFIER || category == TestCategory.ZEPHYR_UNTHREADED + || category == TestCategory.ZEPHYR_BOARDS || category == TestCategory.ZEPHYR_THREADED; // SERIALIZATION and TARGET tests are excluded on Windows. From 9c18925bc3b83e27956ddd958f295ba9ff6fdfe4 Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 11:12:35 +0200 Subject: [PATCH 09/16] Bump Zephyr to 3.4.0 --- .github/actions/setup-zephyr/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-zephyr/action.yml b/.github/actions/setup-zephyr/action.yml index 32cd307172..f414609105 100644 --- a/.github/actions/setup-zephyr/action.yml +++ b/.github/actions/setup-zephyr/action.yml @@ -6,7 +6,7 @@ runs: - name: Setup environment variables run: | echo "SDK_VERSION=0.16.1" >> $GITHUB_ENV - echo "ZEPHYR_VERSION=3.3.0" >> $GITHUB_ENV + echo "ZEPHYR_VERSION=3.4.0" >> $GITHUB_ENV shell: bash - name: Dependencies run: | From 56375242aa93b9ff78df1b265ec1ac04c65d39e5 Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 12:30:25 +0200 Subject: [PATCH 10/16] Exclude Zephyr board tests from CCpp tests --- .../integrationTest/java/org/lflang/tests/runtime/CCppTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/integrationTest/java/org/lflang/tests/runtime/CCppTest.java b/core/src/integrationTest/java/org/lflang/tests/runtime/CCppTest.java index 6324098963..3bbbda7dad 100644 --- a/core/src/integrationTest/java/org/lflang/tests/runtime/CCppTest.java +++ b/core/src/integrationTest/java/org/lflang/tests/runtime/CCppTest.java @@ -44,6 +44,7 @@ private static boolean isExcludedFromCCpp(TestCategory category) { isMac() && (category == TestCategory.DOCKER_FEDERATED || category == TestCategory.DOCKER); excluded |= category == TestCategory.ZEPHYR_UNTHREADED; excluded |= category == TestCategory.ZEPHYR_THREADED; + excluded |= category == TestCategory.ZEPHYR_BOARDS; excluded |= category == TestCategory.ARDUINO; excluded |= category == TestCategory.NO_INLINING; excluded |= category == TestCategory.VERIFIER; From 626d6188abd59fd757b8371a72754f8e24cd0130 Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 12:42:34 +0200 Subject: [PATCH 11/16] Update Zephyr CI --- .github/workflows/c-zephyr-tests.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-zephyr-tests.yml b/.github/workflows/c-zephyr-tests.yml index 49c073d03b..eb170bafcf 100644 --- a/.github/workflows/c-zephyr-tests.yml +++ b/.github/workflows/c-zephyr-tests.yml @@ -41,7 +41,9 @@ jobs: if: ${{ inputs.runtime-ref }} - name: Run Zephyr smoke tests run: | - ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyr* core:integrationTestCodeCoverageReport + ./gradlew core:integrationTest \ + --tests org.lflang.tests.runtime.CZephyrTest.buildZephyrUnthreaded* \ + --tests org.lflang.tests.runtime.CZephyrTest.buildZephyrThreaded* core:integrationTestCodeCoverageReport ./.github/scripts/run-zephyr-tests.sh test/C/src-gen rm -r test/C/src-gen - name: Run basic tests @@ -54,6 +56,10 @@ jobs: ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildConcurrent* core:integrationTestCodeCoverageReport ./.github/scripts/run-zephyr-tests.sh test/C/src-gen rm -r test/C/src-gen + - name: Run Zephyr board tests + run: | + ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyBoard core:integrationTestCodeCoverageReport + rm -r test/C/src-gen - name: Report to CodeCov uses: ./.github/actions/report-code-coverage with: From eac5f219313cd511eb27179ac3cadcecd8e02bd6 Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 12:46:16 +0200 Subject: [PATCH 12/16] Zephyr v3.4.0 --- .../src/main/java/org/lflang/generator/c/CCmakeGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java b/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java index ea1db3713e..717f0714f5 100644 --- a/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java +++ b/core/src/main/java/org/lflang/generator/c/CCmakeGenerator.java @@ -144,8 +144,8 @@ CodeBuilder generateCMakeCode( cMakeCode.pr("# Selecting default board"); cMakeCode.pr("set(BOARD qemu_cortex_m3)"); } - cMakeCode.pr("# We recommend Zephyr v3.3.0 but we are compatible with older versions also"); - cMakeCode.pr("find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} 3.3.0)"); + cMakeCode.pr("# We recommend Zephyr v3.4.0 but we are compatible with older versions also"); + cMakeCode.pr("find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} 3.4.0)"); cMakeCode.newLine(); cMakeCode.pr("project(" + executableName + " LANGUAGES C)"); cMakeCode.newLine(); From c627127eb60df43e60531f922afbf02567650c6d Mon Sep 17 00:00:00 2001 From: erlingrj Date: Sat, 16 Sep 2023 12:49:33 +0200 Subject: [PATCH 13/16] Update STM32 test --- test/C/src/zephyr/boards/STM32.lf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/C/src/zephyr/boards/STM32.lf b/test/C/src/zephyr/boards/STM32.lf index c849ea0f30..409f169b85 100644 --- a/test/C/src/zephyr/boards/STM32.lf +++ b/test/C/src/zephyr/boards/STM32.lf @@ -1,6 +1,8 @@ target C { - platform: "Zephyr", - board: stm32f4_disco + platform: { + name: Zephyr, + board: stm32f4_disco + } } main reactor { From 9b02b6cba6530115e3ad67eccd288625b77a8ba9 Mon Sep 17 00:00:00 2001 From: erling Date: Sat, 16 Sep 2023 12:50:14 +0200 Subject: [PATCH 14/16] Update core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay Co-authored-by: Marten Lohstroh --- .../lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay b/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay index 30472cd1fb..0c88903dc5 100644 --- a/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay +++ b/core/src/main/resources/lib/platform/zephyr/boards/nrf52dk_nrf52832.overlay @@ -1,3 +1,3 @@ &timer1 { status = "okay"; -}; \ No newline at end of file +}; From 137a1499221439649875e17bad39d0a133b4f556 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Sat, 16 Sep 2023 14:36:54 +0200 Subject: [PATCH 15/16] Typo in CI --- .github/workflows/c-zephyr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-zephyr-tests.yml b/.github/workflows/c-zephyr-tests.yml index eb170bafcf..200b35e30f 100644 --- a/.github/workflows/c-zephyr-tests.yml +++ b/.github/workflows/c-zephyr-tests.yml @@ -58,7 +58,7 @@ jobs: rm -r test/C/src-gen - name: Run Zephyr board tests run: | - ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyBoard core:integrationTestCodeCoverageReport + ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyBoards* core:integrationTestCodeCoverageReport rm -r test/C/src-gen - name: Report to CodeCov uses: ./.github/actions/report-code-coverage From 7d3905fe97c397991a70a98bb2ab5e77b388fe49 Mon Sep 17 00:00:00 2001 From: Erling Rennemo Jellum Date: Sat, 16 Sep 2023 15:31:09 +0200 Subject: [PATCH 16/16] Another typo... --- .github/workflows/c-zephyr-tests.yml | 2 +- .../java/org/lflang/tests/runtime/CZephyrTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-zephyr-tests.yml b/.github/workflows/c-zephyr-tests.yml index 200b35e30f..16001457fb 100644 --- a/.github/workflows/c-zephyr-tests.yml +++ b/.github/workflows/c-zephyr-tests.yml @@ -58,7 +58,7 @@ jobs: rm -r test/C/src-gen - name: Run Zephyr board tests run: | - ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyBoards* core:integrationTestCodeCoverageReport + ./gradlew core:integrationTest --tests org.lflang.tests.runtime.CZephyrTest.buildZephyrBoards* core:integrationTestCodeCoverageReport rm -r test/C/src-gen - name: Report to CodeCov uses: ./.github/actions/report-code-coverage diff --git a/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java b/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java index 6ab2490abe..08b18b2a72 100644 --- a/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java +++ b/core/src/integrationTest/java/org/lflang/tests/runtime/CZephyrTest.java @@ -56,7 +56,7 @@ public void buildZephyrUnthreadedTests() { } @Test - public void buildZephyrBoardTests() { + public void buildZephyrBoardsTests() { Assumptions.assumeTrue(isLinux(), "Zephyr tests only run on Linux"); super.runTestsFor( List.of(Target.C),