Skip to content

Commit 3b7ac99

Browse files
author
Jamie Smith
authored
Build all target families in a CI job (#355)
* Fix build of CYTFM_064B0S2_4343W * Fix docstring * Build all target families in a CI job Try and reenable if Full send Fixing build errors and warnings: round 1 of 100000000 Fix Cypress targets to use new form factor names as the old FF was producing #defines that clashed with USB code Fix some GD32 legacy pin name issues More Cypress build errors Rename USB variables Oops typo Fix STM32F0 DMA interrupts Fix some issues with mesh network code building Add MCU description for MIMXRT1176 Fix H745ZI_Q target name Add missing cypress secure requirement Fix every Cypress target trying to write to the same hex file in post build Missing add_subdirectory Augh typo Fix incorrect path to renesas Eth driver That toshiba target doesn't have CMake build scripts O_O Add missing add_subdirectory() Remove noneexistant include Fix incorrect check for define Check for both types * STM32F7: add missing casts
1 parent 2f9042f commit 3b7ac99

File tree

10 files changed

+157
-18
lines changed

10 files changed

+157
-18
lines changed

.github/workflows/greentea_cmake.yml

Lines changed: 136 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,137 @@
1-
name: test building greentea tests with cmake
2-
1+
name: Compile Check
32
on: [pull_request]
43

54
jobs:
6-
build-greentea-cmake:
5+
build-greentea:
76
runs-on: ubuntu-latest
87
container: ghcr.io/armmbed/mbed-os-env:master-latest
8+
9+
strategy:
10+
matrix:
11+
include:
12+
## For this matrix, we choose one target from each MCU target family that Mbed supports.
13+
## The target families can be seen here:
14+
## https://mbed-ce.github.io/mbed-ce-test-tools/targets/index.html
15+
## Generally we want to get the most feature-filled MCU of each type so that as much stuff
16+
## compiles as possible -- e.g. prefer a board with ethernet to one without so that we
17+
## can compile the netsocket tests.
18+
19+
# NXP MCUs
20+
- target: LPC1768
21+
profile: full
22+
- target: LPC546XX
23+
profile: full
24+
- target: MIMXRT1060_EVK
25+
profile: full
26+
- target: MIMXRT1170_EVK
27+
profile: full
28+
29+
# Freescale MCUs
30+
- target: K64F
31+
profile: full
32+
- target: KL43Z
33+
profile: full
34+
- target: KW41Z
35+
profile: full
36+
37+
# STM32 MCUs
38+
- target: NUCLEO_F091RC
39+
profile: full
40+
- target: NUCLEO_F103RB
41+
profile: baremetal
42+
- target: NUCLEO_F207ZG
43+
profile: full
44+
- target: NUCLEO_F303RE
45+
profile: full
46+
- target: NUCLEO_F429ZI
47+
profile: full
48+
- target: NUCLEO_F767ZI
49+
profile: full
50+
- target: NUCLEO_G031K8
51+
profile: baremetal
52+
- target: NUCLEO_G431RB
53+
profile: full
54+
- target: NUCLEO_H563ZI
55+
profile: full
56+
- target: NUCLEO_H745ZI_Q_CM7
57+
profile: full
58+
- target: DISCO_L072CZ_LRWAN1
59+
profile: baremetal
60+
- target: XDOT_L151CC
61+
profile: full
62+
- target: DISCO_L4R9I
63+
profile: full
64+
- target: DISCO_L562QE
65+
profile: full
66+
- target: B_U585I_IOT02A
67+
profile: full
68+
- target: NUCLEO_WB55RG
69+
profile: full
70+
- target: NUCLEO_WL55JC
71+
profile: full
72+
73+
# Maxim MCUs
74+
- target: MAX32625MBED
75+
profile: full
76+
- target: XDOT_MAX32670
77+
profile: full
78+
79+
# Nuvoton MCUs
80+
- target: NUMAKER_PFM_NANO130
81+
profile: baremetal
82+
- target: NUMAKER_PFM_M487
83+
profile: full
84+
- target: NU_M2354
85+
profile: full
86+
87+
# Samsung MCUs
88+
- target: S1SBP6A
89+
profile: full
90+
91+
# nRF MCUs
92+
- target: NRF52840_DK
93+
profile: full
94+
- target: ARDUINO_NICLA_SENSE_ME
95+
profile: full
96+
97+
# Toshiba MCUs
98+
- target: TMPM4G9
99+
profile: full
100+
101+
# Renesas MCUs
102+
- target: GR_MANGO
103+
profile: full
104+
- target: RZ_A1H
105+
profile: full
106+
107+
# Ambiq MCUs
108+
- target: SFE_ARTEMIS_DK
109+
profile: full
110+
111+
# Infineon/Cypress MCUs
112+
- target: CY8CKIT_062S2_43012
113+
profile: full
114+
- target: CYTFM_064B0S2_4343W
115+
profile: full
116+
117+
# Analog Devices MCUs
118+
- target: EV_COG_AD4050LZ
119+
profile: full
120+
121+
# GigaDevices MCUs
122+
- target: GD32_F307VG
123+
profile: full
124+
- target: GD32_F450ZI
125+
profile: full
126+
127+
# SiLabs MCUs
128+
- target: EFM32GG11_STK3701
129+
profile: full
130+
131+
# Raspberry Pi MCUs
132+
- target: RASPBERRY_PI_PICO
133+
profile: full
134+
9135
steps:
10136
- name: Checkout
11137
uses: actions/checkout@v3
@@ -15,14 +141,17 @@ jobs:
15141
apt-get update
16142
apt-get install -y python3-venv
17143
18-
- name: Build NUCLEO_G031K8 with baremetal profile
144+
- name: Build ${{ matrix.target }} with baremetal profile
145+
if: ${{ matrix.profile == 'baremetal' }}
146+
# Note: We have to set a wifi network name and password so that the test will compile on devices that use wifi
19147
run: |
20148
rm -rf __build
21-
cmake -S . -B __build -GNinja -DCMAKE_CTEST_ARGUMENTS="--output-on-failure;-V" -DMBED_BUILD_GREENTEA_TESTS=ON -DMBED_GREENTEA_TEST_BAREMETAL=ON -DMBED_GREENTEA_SERIAL_PORT=/dev/ttyDUMMY -DMBED_TARGET=NUCLEO_G031K8 -DMBED_APP_JSON_PATH=TESTS/configs/baremetal.json
149+
cmake -S . -B __build -GNinja -DUPLOAD_METHOD=NONE -DMBED_GREENTEA_WIFI_SECURE_SSID=SomeNetwork -DMBED_GREENTEA_WIFI_SECURE_PASSWORD=SomePassword -DCMAKE_CTEST_ARGUMENTS="--output-on-failure;-V" -DMBED_BUILD_GREENTEA_TESTS=ON -DMBED_GREENTEA_TEST_BAREMETAL=ON -DMBED_GREENTEA_SERIAL_PORT=/dev/ttyDUMMY -DMBED_TARGET=${{ matrix.target }} -DMBED_APP_JSON_PATH=TESTS/configs/baremetal.json
22150
cmake --build __build
23151
24-
- name: Build ARM_MUSCA_S1 with full profile
152+
- name: Build ${{ matrix.target }} with full profile
153+
if: ${{ matrix.profile == 'full' }}
25154
run: |
26155
rm -rf __build
27-
cmake -S . -B __build -GNinja -DCMAKE_CTEST_ARGUMENTS="--output-on-failure;-V" -DMBED_BUILD_GREENTEA_TESTS=ON -DMBED_GREENTEA_SERIAL_PORT=/dev/ttyDUMMY -DMBED_TARGET=ARM_MUSCA_S1
156+
cmake -S . -B __build -GNinja -DUPLOAD_METHOD=NONE -DMBED_GREENTEA_WIFI_SECURE_SSID=SomeNetwork -DMBED_GREENTEA_WIFI_SECURE_PASSWORD=SomePassword -DCMAKE_CTEST_ARGUMENTS="--output-on-failure;-V" -DMBED_BUILD_GREENTEA_TESTS=ON -DMBED_GREENTEA_SERIAL_PORT=/dev/ttyDUMMY -DMBED_TARGET=${{ matrix.target }}
28157
cmake --build __build

connectivity/FEATURE_BLE/source/cordio/TESTS/cordio_hci/transport/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("CORDIO_ZERO_COPY_HCI=1" IN_LIST MBED_CONFIG_DEFINITIONS)
4+
if("CORDIO_ZERO_COPY_HCI" IN_LIST MBED_CONFIG_DEFINITIONS OR "CORDIO_ZERO_COPY_HCI=1" IN_LIST MBED_CONFIG_DEFINITIONS)
55
set(TEST_SKIPPED "Test not relevant for zero copy hci.")
66
endif()
77

connectivity/drivers/emac/TARGET_RENESAS_EMAC/TARGET_RZ_A1XX/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ target_include_directories(mbed-emac
99
target_sources(mbed-emac
1010
PRIVATE
1111
rza1_emac.cpp
12-
rza1_eth.cpp
12+
rza1_eth.c
1313
)

connectivity/drivers/emac/TARGET_STM/stm32xx_emac.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,13 +306,13 @@ bool STM32_EMAC::low_level_init_successful()
306306
tr_info("PHY ID %#X", PHY_ID);
307307

308308
/* Initialize Tx Descriptors list: Chain Mode */
309-
if (HAL_ETH_DMATxDescListInit(&EthHandle, DMATxDscrTab, &Tx_Buff[0][0], ETH_TXBUFNB) != HAL_OK) {
309+
if (HAL_ETH_DMATxDescListInit(&EthHandle, DMATxDscrTab, reinterpret_cast<uint8_t *>(&Tx_Buff[0][0]), ETH_TXBUFNB) != HAL_OK) {
310310
tr_error("HAL_ETH_DMATxDescListInit issue");
311311
return false;
312312
}
313313

314314
/* Initialize Rx Descriptors list: Chain Mode */
315-
if (HAL_ETH_DMARxDescListInit(&EthHandle, DMARxDscrTab, Rx_Buff[0].data(), ETH_RXBUFNB) != HAL_OK) {
315+
if (HAL_ETH_DMARxDescListInit(&EthHandle, DMARxDscrTab, reinterpret_cast<uint8_t *>(Rx_Buff[0].data()), ETH_RXBUFNB) != HAL_OK) {
316316
tr_error("HAL_ETH_DMARxDescListInit issue");
317317
return false;
318318
}

targets/TARGET_Maxim/TARGET_MAX32670/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
add_subdirectory(TARGET_MAX32670EVKIT EXCLUDE_FROM_ALL)
5+
add_subdirectory(TARGET_XDOT_MAX32670 EXCLUDE_FROM_ALL)
56

67
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
78
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MAX32670.sct)

targets/TARGET_Maxim/TARGET_MAX32670/Libraries/PeriphDrivers/Source/SYS/sys_me15.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include "mxc_assert.h"
4545
#include "mxc_sys.h"
4646
#include "mxc_delay.h"
47-
#include "aes.h"
4847
#include "flc.h"
4948
#include "gcr_regs.h"
5049
#include "fcr_regs.h"

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT105x/device/cmsis_nvic.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,4 @@ extern uint32_t __VECTOR_RAM[];
4242
#define NVIC_NUM_VECTORS (16 + 160) // CORE + MCU Peripherals
4343
#define NVIC_RAM_VECTOR_ADDRESS (__VECTOR_RAM) // Vectors positioned at start of RAM
4444

45-
#ifdef MIMXRT105X_BOARD_HAS_EXTERNAL_RAM
46-
#define MBED_RAM_SIZE MIMXRT105X_EXTERNAL_RAM_SIZE
47-
#else
48-
#define MBED_RAM_SIZE 0x00040000
49-
#endif
50-
5145
#endif

targets/TARGET_RENESAS/TARGET_RZ_A1XX/TARGET_RZ_A1H/PinNames.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ typedef enum {
5858
LED_GREEN= LED2,
5959
LED_BLUE = LED3,
6060
LED_USER = LED4,
61+
#define BUTTON0 P6_0
6162

6263
CONSOLE_TX = P6_3,
6364
CONSOLE_RX = P6_2,

targets/TARGET_STM/stm_dma_utils.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,15 @@ IRQn_Type stm_get_dma_irqn(const DMALinkInfo *dmaLink)
396396
case 4:
397397
case 5:
398398
return DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQn;
399+
#elif defined(TARGET_MCU_STM32F0)
400+
// STM32F0 has a rather bespoke mapping
401+
case 1:
402+
case 2:
403+
return DMA1_Ch2_3_DMA2_Ch1_2_IRQn;
404+
case 3:
405+
case 4:
406+
case 5:
407+
return DMA1_Ch4_7_DMA2_Ch3_5_IRQn;
399408
#else
400409

401410
#ifdef DMA2_Channel1

targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32GG11/device/em_device.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@
4141
#ifndef EM_DEVICE_H
4242
#define EM_DEVICE_H
4343

44+
// MBED: The CMake scripts always define __FPU_PRESENT, but the MCU CMSIS headers below also define it.
45+
// So, undef it here to prevent multiple definition warning.
46+
#ifdef __FPU_PRESENT
47+
#undef __FPU_PRESENT
48+
#endif
49+
4450
#if defined(EFM32GG11B110F2048GM64)
4551
#include "efm32gg11b110f2048gm64.h"
4652

0 commit comments

Comments
 (0)