From e92583ffd73d5307b918be2e4c7e39b978a804ed Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 3 Mar 2023 15:37:17 +0700 Subject: try adding build for windows and macos --- .github/workflows/build_win_mac.yml | 55 +++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/build_win_mac.yml (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml new file mode 100644 index 000000000..f41457617 --- /dev/null +++ b/.github/workflows/build_win_mac.yml @@ -0,0 +1,55 @@ +name: Build Windows/MacOS + +on: + push: + paths: + - 'src/**' + - 'examples/**' + - 'lib/**' + - 'hw/**' + - '.github/workflows/build_win_mac.yml' + pull_request: + branches: [ master ] + paths: + - 'src/**' + - 'examples/**' + - 'lib/**' + - 'hw/**' + - '.github/workflows/build_win_mac.yml' + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + # --------------------------------------- + # Build ARM family + # --------------------------------------- + build-arm: + strategy: + matrix: + os: [windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + + steps: + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install ARM GCC + uses: carlosperate/arm-none-eabi-gcc-action@v1 + with: + release: '11.2-2022.02' + + - name: Checkout TinyUSB + uses: actions/checkout@v3 + + - name: Checkout common submodules in lib + run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip + + - name: Get Dependencies + run: python3 tools/get_dependencies.py stm32f0 + + - name: Build + run: python3 tools/build_family.py stm32f0 -- cgit v1.3.1 From 9a8a9359e40c93c187743a469f3d984dbf2f6413 Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 3 Mar 2023 15:55:34 +0700 Subject: use make abspath intead of shell realpath --- .github/workflows/build_win_mac.yml | 1 + tools/top.mk | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index f41457617..5ff7fa6f8 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -27,6 +27,7 @@ jobs: # --------------------------------------- build-arm: strategy: + fail-fast: false matrix: os: [windows-latest, macos-latest] runs-on: ${{ matrix.os }} diff --git a/tools/top.mk b/tools/top.mk index af8d698f5..2800f9571 100644 --- a/tools/top.mk +++ b/tools/top.mk @@ -26,20 +26,21 @@ THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) # strip off /tools/top.mk to get for example ../../.. TOP := $(patsubst %/tools/top.mk,%,$(THIS_MAKEFILE)) -#$(info top.mk: Initial TOP=$(TOP)) +$(info top.mk: Initial TOP=$(TOP)) # Set TOP to an absolute path, for example /tinyUSB (from ../../..) ifeq ($(CMDEXE),1) TOP := $(subst \,/,$(shell for %%i in ( $(TOP) ) do echo %%~fi)) else -TOP := $(shell realpath $(TOP)) +TOP := $(abspath $(TOP)) endif -#$(info top.mk: Top directory is $(TOP)) + +$(info top.mk: Top directory is $(TOP)) # Set CURRENT_PATH to the relative path from TOP to the current directory, ie examples/device/cdc_msc_freertos ifeq ($(CMDEXE),1) CURRENT_PATH := $(subst $(TOP)/,,$(subst \,/,$(shell echo %CD%))) else -CURRENT_PATH := $(shell realpath --relative-to=$(TOP) `pwd`) +CURRENT_PATH = $(subst $(TOP)/,,$(abspath .)) endif -#$(info top.mk: Path from top is $(CURRENT_PATH)) +$(info top.mk: CURRENT_PATH = $(CURRENT_PATH)) -- cgit v1.3.1 From 363fcc5b6816c98c0e3e951f17a108c35fbd86da Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 3 Mar 2023 16:24:33 +0700 Subject: only build 1 board on windows/macos --- .github/workflows/build_win_mac.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index 5ff7fa6f8..c3aaa316a 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -53,4 +53,4 @@ jobs: run: python3 tools/get_dependencies.py stm32f0 - name: Build - run: python3 tools/build_family.py stm32f0 + run: python3 tools/build_family.py stm32f0 stm32f072disco -- cgit v1.3.1 From a99ee1b1a238b3edc6f2511543ffed2a3a1b657e Mon Sep 17 00:00:00 2001 From: hathach Date: Sat, 4 Mar 2023 20:08:10 +0700 Subject: bump up gcc, test macos uname --- .github/workflows/build_win_mac.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index c3aaa316a..c2e961f23 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -38,10 +38,13 @@ jobs: with: python-version: '3.x' + - if: matrix.os == 'macos-latest' + run: uname -a + - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '11.2-2022.02' + release: '12.2.Rel1' - name: Checkout TinyUSB uses: actions/checkout@v3 -- cgit v1.3.1 From 8a493485e802673a877e43a53c7181a9668c7d51 Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 5 Mar 2023 13:39:38 +0700 Subject: more ci test --- .github/workflows/build_win_mac.yml | 2 +- examples/make.mk | 3 +-- examples/rules.mk | 4 ++++ 3 files changed, 6 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index c2e961f23..6d4f8ff80 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -44,7 +44,7 @@ jobs: - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '12.2.Rel1' + release: '10.3-2021.10' - name: Checkout TinyUSB uses: actions/checkout@v3 diff --git a/examples/make.mk b/examples/make.mk index 5b364baf7..8a0b6db6b 100644 --- a/examples/make.mk +++ b/examples/make.mk @@ -77,10 +77,9 @@ endif ifeq ($(CMDEXE),1) CP = copy RM = del + MKDIR = mkdir PYTHON = python - MKDIR = cmd /e /c mkdir else - SED = sed CP = cp RM = rm MKDIR = mkdir diff --git a/examples/rules.mk b/examples/rules.mk index dcef934ab..06bc593ba 100644 --- a/examples/rules.mk +++ b/examples/rules.mk @@ -265,7 +265,11 @@ debug-bmp: $(BUILD)/$(PROJECT).elf # Create binary directory $(BIN): +ifeq ($(CMDEXE),1) + @$(MKDIR) $(subst /,\,$@) +else @$(MKDIR) -p $@ +endif # Copy binaries .elf, .bin, .hex, .uf2 to BIN for upload # due to large size of combined artifacts, only uf2 is uploaded for now -- cgit v1.3.1 From 9824981ee80f38791ec8de2d26ab928a382e852f Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 5 Mar 2023 15:35:02 +0700 Subject: ignore mkdir in windows ci --- .github/workflows/build_win_mac.yml | 2 +- examples/rules.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index 6d4f8ff80..46aa4a784 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -44,7 +44,7 @@ jobs: - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '10.3-2021.10' + release: '11.2-2022.02' - name: Checkout TinyUSB uses: actions/checkout@v3 diff --git a/examples/rules.mk b/examples/rules.mk index 06bc593ba..76be50b9c 100644 --- a/examples/rules.mk +++ b/examples/rules.mk @@ -112,7 +112,7 @@ OBJ_DIRS = $(sort $(dir $(OBJ))) $(OBJ): | $(OBJ_DIRS) $(OBJ_DIRS): ifeq ($(CMDEXE),1) - @$(MKDIR) $(subst /,\,$@) + -@$(MKDIR) $(subst /,\,$@) else @$(MKDIR) -p $@ endif -- cgit v1.3.1 From 0a1a61bb6c921d033fc8bce0718b56e2d334323b Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 5 Mar 2023 15:42:05 +0700 Subject: try gcc 12.2 with macos --- .github/workflows/build_win_mac.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index 46aa4a784..a4b0ad220 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -44,7 +44,7 @@ jobs: - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '11.2-2022.02' + release: '12.2.Rel1' - name: Checkout TinyUSB uses: actions/checkout@v3 @@ -53,7 +53,7 @@ jobs: run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip - name: Get Dependencies - run: python3 tools/get_dependencies.py stm32f0 + run: python3 tools/get_dependencies.py stm32f4 - name: Build - run: python3 tools/build_family.py stm32f0 stm32f072disco + run: python3 tools/build_family.py stm32f4 stm32f411disco -- cgit v1.3.1 From 5c537c25f00dad43c4839ba1bffe7d9cd03cc87f Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 6 Mar 2023 11:16:21 +0700 Subject: change gcc to 10.3 due to freeRTOS warning --- .github/workflows/build_win_mac.yml | 2 +- hw/bsp/stm32f1/family.c | 2 +- hw/bsp/stm32f1/stm32f1xx_hal_conf.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index a4b0ad220..4b899cfb6 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -44,7 +44,7 @@ jobs: - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: - release: '12.2.Rel1' + release: '10.3-2021.10' - name: Checkout TinyUSB uses: actions/checkout@v3 diff --git a/hw/bsp/stm32f1/family.c b/hw/bsp/stm32f1/family.c index 246d496c8..61b40badd 100644 --- a/hw/bsp/stm32f1/family.c +++ b/hw/bsp/stm32f1/family.c @@ -151,7 +151,7 @@ void HardFault_Handler (void) * @param line: assert_param error line source number * @retval None */ -void assert_failed(char *file, uint32_t line) +void assert_failed(const char *file, uint32_t line) { /* USER CODE BEGIN 6 */ /* User can add his own implementation to report the file name and line number, diff --git a/hw/bsp/stm32f1/stm32f1xx_hal_conf.h b/hw/bsp/stm32f1/stm32f1xx_hal_conf.h index a4a3f3086..5243e5bca 100644 --- a/hw/bsp/stm32f1/stm32f1xx_hal_conf.h +++ b/hw/bsp/stm32f1/stm32f1xx_hal_conf.h @@ -362,9 +362,9 @@ * If expr is true, it returns no value. * @retval None */ - #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) + #define assert_param(expr) ((expr) ? (void)0U : assert_failed(__FILE__, __LINE__)) /* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); + void assert_failed(const char* file, uint32_t line); #else #define assert_param(expr) ((void)0U) #endif /* USE_FULL_ASSERT */ -- cgit v1.3.1 From ec8c292bbebdbaebe39abef6e88c6a0fbb1f2be7 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 6 Mar 2023 14:37:40 +0700 Subject: clean up --- .github/workflows/build_win_mac.yml | 3 --- 1 file changed, 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build_win_mac.yml b/.github/workflows/build_win_mac.yml index 4b899cfb6..bad9f3162 100644 --- a/.github/workflows/build_win_mac.yml +++ b/.github/workflows/build_win_mac.yml @@ -38,9 +38,6 @@ jobs: with: python-version: '3.x' - - if: matrix.os == 'macos-latest' - run: uname -a - - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: -- cgit v1.3.1