Merge pull request #1539 from hathach/improve-ci

Improve ci
This commit is contained in:
Ha Thach 2022-06-29 16:27:17 +07:00 committed by GitHub
commit 19956f070d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 89 additions and 91 deletions

View File

@ -65,7 +65,7 @@ jobs:
- 'xmc4000'
steps:
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
- name: Checkout TinyUSB
uses: actions/checkout@v3
@ -79,32 +79,17 @@ jobs:
repository: hathach/linkermap
path: linkermap
- name: Checkout pico-sdk
- name: Checkout pico-sdk for rp2040
if: matrix.family == 'rp2040'
run: |
git clone --depth 1 -b develop https://github.com/raspberrypi/pico-sdk ~/pico-sdk
echo >> $GITHUB_ENV PICO_SDK_PATH=~/pico-sdk
git submodule update --init hw/mcu/raspberry_pi/Pico-PIO-USB
- name: Set Toolchain URL
run: echo >> $GITHUB_ENV TOOLCHAIN_URL=https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v10.2.1-1.1/xpack-arm-none-eabi-gcc-10.2.1-1.1-linux-x64.tar.gz
- name: Cache Toolchain
uses: actions/cache@v2
id: cache-toolchain
- name: Install ARM GCC
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
path: ~/cache/
key: ${{ runner.os }}-21-03-04-${{ env.TOOLCHAIN_URL }}
- name: Install Toolchain
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache/toolchain
wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.tar.gz
tar -C ~/cache/toolchain -xaf toolchain.tar.gz
- name: Set Toolchain Path
run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin`
release: '11.2-2022.02'
- name: Build
run: python3 tools/build_family.py ${{ matrix.family }}
@ -135,7 +120,7 @@ jobs:
steps:
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
- name: Checkout TinyUSB
uses: actions/checkout@v3
@ -143,25 +128,10 @@ jobs:
- name: Checkout common submodules in lib
run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip
- name: Set Toolchain URL
run: echo >> $GITHUB_ENV TOOLCHAIN_URL=https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v10.2.1-1.1/xpack-arm-none-eabi-gcc-10.2.1-1.1-linux-x64.tar.gz
- name: Cache Toolchain
uses: actions/cache@v2
id: cache-toolchain
- name: Install ARM GCC
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
path: ~/cache/
key: ${{ runner.os }}-21-03-04-${{ env.TOOLCHAIN_URL }}
- name: Install Toolchain
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache/toolchain
wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.tar.gz
tar -C ~/cache/toolchain -xaf toolchain.tar.gz
- name: Set Toolchain Path
run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin`
release: '11.2-2022.02'
- name: Build
run: python3 tools/build_board.py ${{ matrix.example }}

View File

@ -1,10 +1,11 @@
mcu:CXD56
mcu:MSP430x5xx
mcu:SAMD11
mcu:VALENTYUSB_EPTRI
mcu:MKL25ZXX
mcu:RP2040
mcu:SAMX7X
mcu:F1C100S
mcu:GD32VF103
family:broadcom_64bit
family:broadcom_32bit
mcu:MKL25ZXX
mcu:MSP430x5xx
mcu:RP2040
mcu:SAMD11
mcu:SAMX7X
mcu:VALENTYUSB_EPTRI
family:broadcom_32bit
family:broadcom_64bit

View File

@ -1,9 +1,11 @@
mcu:CXD56
mcu:MSP430x5xx
mcu:SAMD11
mcu:VALENTYUSB_EPTRI
mcu:RP2040
mcu:SAMX7X
mcu:F1C100S
mcu:GD32VF103
family:broadcom_64bit
family:broadcom_32bit
mcu:MKL25ZXX
mcu:MSP430x5xx
mcu:RP2040
mcu:SAMD11
mcu:SAMX7X
mcu:VALENTYUSB_EPTRI
family:broadcom_32bit
family:broadcom_64bit

View File

@ -1,2 +1,3 @@
mcu:MSP430x5xx
mcu:SAMD11
mcu:NUC121
mcu:SAMD11

View File

@ -160,4 +160,5 @@ SECTIONS
. = ALIGN(4);
_end = . ;
end = .;
}

View File

@ -33,11 +33,11 @@
void USB_IRQHandler(void)
{
#if CFG_TUD_ENABLED
tuh_int_handler(0);
tud_int_handler(0);
#endif
#if CFG_TUH_ENABLED
tud_int_handler(0);
tuh_int_handler(0);
#endif
}

View File

@ -9,7 +9,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_K32L2BXX
# mcu driver cause following warnings
CFLAGS += -Wno-error=unused-parameter
CFLAGS += -Wno-error=unused-parameter -Wno-error=redundant-decls
MCU_DIR = $(SDK_DIR)/devices/K32L2B31A

View File

@ -14,7 +14,7 @@ LDFLAGS += \
-Wl,--defsym,__heap_size__=0
# mcu driver cause following warnings
CFLAGS += -Wno-error=unused-parameter -Wno-error=format
CFLAGS += -Wno-error=unused-parameter -Wno-error=format -Wno-error=redundant-decls
MCU_DIR = $(SDK_DIR)/devices/MKL25Z4

View File

@ -45,7 +45,7 @@
* Variables
******************************************************************************/
/* System clock frequency. */
extern uint32_t SystemCoreClock;
// extern uint32_t SystemCoreClock;
/*******************************************************************************
* Variables for BOARD_BootClockRUN configuration

View File

@ -15,7 +15,7 @@ CFLAGS += \
-DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))'
# mcu driver cause following warnings
CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter
CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter -Wno-error=redundant-decls
MCU_DIR = hw/mcu/nxp/lpcopen/lpc11uxx/lpc_chip_11uxx

View File

@ -15,7 +15,7 @@ CFLAGS += \
-DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))'
# startup.c and lpc_types.h cause following errors
CFLAGS += -Wno-error=strict-prototypes
CFLAGS += -Wno-error=strict-prototypes -Wno-error=redundant-decls
MCU_DIR = hw/mcu/nxp/lpcopen/lpc13xx/lpc_chip_13xx

View File

@ -10,6 +10,9 @@ CFLAGS += \
-DCFG_EXAMPLE_MSC_READONLY \
-DCFG_TUSB_MCU=OPT_MCU_NUC121
# mcu driver cause following warnings
CFLAGS += -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/nuc121_flash.ld

View File

@ -10,6 +10,9 @@ CFLAGS += \
-DCFG_EXAMPLE_MSC_READONLY \
-DCFG_TUSB_MCU=OPT_MCU_NUC121
# mcu driver cause following warnings
CFLAGS += -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/nuc125_flash.ld

View File

@ -11,6 +11,9 @@ CFLAGS += \
-D__CORTEX_SC=0 \
-DCFG_TUSB_MCU=OPT_MCU_NUC126
# mcu driver cause following warnings
CFLAGS += -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/nuc126_flash.ld

View File

@ -9,6 +9,9 @@ CFLAGS += \
-mfpu=fpv4-sp-d16 \
-DCFG_TUSB_MCU=OPT_MCU_NUC505
# mcu driver cause following warnings
CFLAGS += -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/nuc505_flashtoram.ld

View File

@ -1 +0,0 @@
set(PICO_BOARD adafruit_feather_rp2040)

View File

@ -1 +0,0 @@
set(PICO_BOARD adafruit_itsybitsy_rp2040)

View File

@ -1 +0,0 @@
set(PICO_BOARD adafruit_qtpy_rp2040)

View File

@ -11,7 +11,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_SAMX7X
# suppress following warnings from mcu driver
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual -Wno-error=redundant-decls
ASF_DIR = hw/mcu/microchip/same70

View File

@ -11,7 +11,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_SAMX7X
# suppress following warnings from mcu driver
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual
CFLAGS += -Wno-error=unused-parameter -Wno-error=cast-align -Wno-error=cast-qual -Wno-error=redundant-decls
ASF_DIR = hw/mcu/microchip/same70

View File

@ -12,7 +12,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_SAMG
# suppress following warnings from mcu driver
CFLAGS += -Wno-error=undef -Wno-error=cast-qual -Wno-error=null-dereference
CFLAGS += -Wno-error=undef -Wno-error=cast-qual -Wno-error=null-dereference -Wno-error=redundant-decls
ASF_DIR = hw/mcu/microchip/samg55

View File

@ -34,8 +34,9 @@ CFLAGS += \
-Wno-error=unused-parameter \
-DCFG_TUSB_MCU=OPT_MCU_CXD56 \
# suppress following warnings from mcu driver
# lwip/src/core/raw.c:334:43: error: declaration of 'recv' shadows a global declaration
CFLAGS += -Wno-error=shadow
CFLAGS += -Wno-error=shadow -Wno-error=redundant-decls
SPRESENSE_SDK = $(TOP)/hw/mcu/sony/cxd56/spresense-exported-sdk

View File

@ -17,7 +17,7 @@ CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_STM32L0
# mcu driver cause following warnings
CFLAGS += -Wno-error=unused-parameter -Wno-error=maybe-uninitialized
CFLAGS += -Wno-error=unused-parameter -Wno-error=maybe-uninitialized -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/STM32L053C8Tx_FLASH.ld

View File

@ -2,6 +2,9 @@ MCU_VARIANT = XMC4500
CFLAGS += \
-DXMC4500_F100x1024 \
# mcu driver cause following warnings
CFLAGS += -Wno-error=stringop-overread
LD_FILE = $(MCU_DIR)/CMSIS/Infineon/COMPONENT_$(MCU_VARIANT)/Source/TOOLCHAIN_GCC_ARM/XMC4500x1024.ld
JLINK_DEVICE = XMC4500-1024

@ -1 +1 @@
Subproject commit 58eb3763200ff51a998be5f537acf67299add227
Subproject commit 9e8b37e307d8404033bb881623a113931e1edf27

View File

@ -43,6 +43,9 @@
#define EP_MAX_FS USB_OTG_FS_MAX_IN_ENDPOINTS
#define EP_FIFO_SIZE_FS USB_OTG_FS_TOTAL_FIFO_SIZE
#define EP_MAX_HS USB_OTG_HS_MAX_IN_ENDPOINTS
#define EP_FIFO_SIZE_HS USB_OTG_HS_TOTAL_FIFO_SIZE
#elif CFG_TUSB_MCU == OPT_MCU_STM32F4
#include "stm32f4xx.h"
#define EP_MAX_FS USB_OTG_FS_MAX_IN_ENDPOINTS

View File

@ -48,7 +48,7 @@ all_families.sort()
def build_family(example, family):
all_boards = []
for entry in os.scandir("hw/bsp/{}/boards".format(family)):
if entry.is_dir():
if entry.is_dir() and entry.name != 'pico_sdk':
all_boards.append(entry.name)
filter_with_input(all_boards)
all_boards.sort()

View File

@ -3,27 +3,34 @@ import pathlib
def skip_example(example, board):
ex_dir = pathlib.Path('examples/') / example
bsp = pathlib.Path("hw/bsp")
board_dir = list(bsp.glob("*/boards/" + board))
if not board_dir:
# Skip unknown boards
return True
board_dir = list(board_dir)[0]
family_dir = board_dir.parent.parent
family = family_dir.name
if (bsp / board / "board.mk").exists():
# board without family
board_dir = bsp / board
family = ""
mk_contents = ""
else:
# board within family
board_dir = list(bsp.glob("*/boards/" + board))
if not board_dir:
# Skip unknown boards
return True
board_dir = list(board_dir)[0]
family_dir = board_dir.parent.parent
family = family_dir.name
# family CMake
family_mk = family_dir / "family.cmake"
# family.mk
if not family_mk.exists():
family_mk = family_dir / "family.mk"
mk_contents = family_mk.read_text()
# family CMake
family_mk = family_dir / "family.cmake"
# family.mk
if not family_mk.exists():
family_mk = family_dir / "family.mk"
mk_contents = family_mk.read_text()
# Find the mcu
# Find the mcu, first in family mk then board mk
if "CFG_TUSB_MCU=OPT_MCU_" not in mk_contents:
board_mk = board_dir / "board.cmake"
if not board_mk.exists():