Skip to content

Commit 2ecd7c1

Browse files
committed
fix ci with lpc55 and kl, move hw test l4 to cmake iar
1 parent 1537639 commit 2ecd7c1

File tree

4 files changed

+150
-66
lines changed

4 files changed

+150
-66
lines changed

.github/workflows/build_arm.yml

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -101,67 +101,67 @@ jobs:
101101
path: |
102102
*.elf
103103
104-
# ---------------------------------------
105-
# Hardware in the loop (HIL)
106-
# Current self-hosted instance is running on an EPYC 7232 server hosted by HiFiPhile user
107-
# - STM32L412 Nucleo with on-board jlink as ttyACM0
108-
# ---------------------------------------
109-
hw-stm32l412nucleo-test:
110-
needs: build-arm
111-
runs-on: [self-hosted, Linux, X64, hifiphile]
112-
113-
steps:
114-
- name: Clean workspace
115-
run: |
116-
echo "Cleaning up previous run"
117-
rm -rf "${{ github.workspace }}"
118-
mkdir -p "${{ github.workspace }}"
119-
120-
- name: Download stm32l4 Artifacts
121-
uses: actions/download-artifact@v3
122-
with:
123-
name: stm32l4
124-
125-
- name: Create flash.sh
126-
run: |
127-
echo > flash.sh 'echo halt > flash.jlink'
128-
echo >> flash.sh 'echo r >> flash.jlink'
129-
echo >> flash.sh 'echo loadfile $1 >> flash.jlink'
130-
echo >> flash.sh 'echo r >> flash.jlink'
131-
echo >> flash.sh 'echo go >> flash.jlink'
132-
echo >> flash.sh 'echo exit >> flash.jlink'
133-
echo >> flash.sh 'cmdout=$(JLinkExe -device stm32l412kb -if swd -JTAGConf -1,-1 -speed auto -NoGui 1 -ExitOnError 1 -CommandFile flash.jlink)'
134-
echo >> flash.sh 'if (( $? )) ; then echo $cmdout ; fi'
135-
chmod +x flash.sh
136-
137-
- name: Test cdc_dual_ports
138-
run: |
139-
./flash.sh cdc_dual_ports.elf
140-
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 10 ]; do :; done
141-
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
142-
test -e /dev/ttyACM2 && echo "ttyACM2 exists"
143-
144-
# Debian does not auto mount usb drive. skip this test for now
145-
- name: Test cdc_msc
146-
if: false
147-
run: |
148-
./flash.sh cdc_msc.elf
149-
readme='/media/pi/TinyUSB MSC/README.TXT'
150-
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 10 ]; do :; done
151-
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
152-
test -f "$readme" && echo "$readme exists"
153-
cat "$readme"
154-
155-
- name: Test dfu
156-
run: |
157-
./flash.sh dfu.elf
158-
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 10 ]; do :; done
159-
dfu-util -d cafe -a 0 -U dfu0
160-
dfu-util -d cafe -a 1 -U dfu1
161-
grep "TinyUSB DFU! - Partition 0" dfu0
162-
grep "TinyUSB DFU! - Partition 1" dfu1
163-
164-
- name: Test dfu_runtime
165-
run: |
166-
./flash.sh dfu_runtime.elf
167-
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 10 ]; do :; done
104+
# # ---------------------------------------
105+
# # Hardware in the loop (HIL)
106+
# # Current self-hosted instance is running on an EPYC 7232 server hosted by HiFiPhile user
107+
# # - STM32L412 Nucleo with on-board jlink as ttyACM0
108+
# # ---------------------------------------
109+
# hw-stm32l412nucleo-test:
110+
# needs: build-arm
111+
# runs-on: [self-hosted, Linux, X64, hifiphile]
112+
#
113+
# steps:
114+
# - name: Clean workspace
115+
# run: |
116+
# echo "Cleaning up previous run"
117+
# rm -rf "${{ github.workspace }}"
118+
# mkdir -p "${{ github.workspace }}"
119+
#
120+
# - name: Download stm32l4 Artifacts
121+
# uses: actions/download-artifact@v3
122+
# with:
123+
# name: stm32l4
124+
#
125+
# - name: Create flash.sh
126+
# run: |
127+
# echo > flash.sh 'echo halt > flash.jlink'
128+
# echo >> flash.sh 'echo r >> flash.jlink'
129+
# echo >> flash.sh 'echo loadfile $1 >> flash.jlink'
130+
# echo >> flash.sh 'echo r >> flash.jlink'
131+
# echo >> flash.sh 'echo go >> flash.jlink'
132+
# echo >> flash.sh 'echo exit >> flash.jlink'
133+
# echo >> flash.sh 'cmdout=$(JLinkExe -device stm32l412kb -if swd -JTAGConf -1,-1 -speed auto -NoGui 1 -ExitOnError 1 -CommandFile flash.jlink)'
134+
# echo >> flash.sh 'if (( $? )) ; then echo $cmdout ; fi'
135+
# chmod +x flash.sh
136+
#
137+
# - name: Test cdc_dual_ports
138+
# run: |
139+
# ./flash.sh cdc_dual_ports.elf
140+
# while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 10 ]; do :; done
141+
# test -e /dev/ttyACM1 && echo "ttyACM1 exists"
142+
# test -e /dev/ttyACM2 && echo "ttyACM2 exists"
143+
#
144+
# # Debian does not auto mount usb drive. skip this test for now
145+
# - name: Test cdc_msc
146+
# if: false
147+
# run: |
148+
# ./flash.sh cdc_msc.elf
149+
# readme='/media/pi/TinyUSB MSC/README.TXT'
150+
# while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 10 ]; do :; done
151+
# test -e /dev/ttyACM1 && echo "ttyACM1 exists"
152+
# test -f "$readme" && echo "$readme exists"
153+
# cat "$readme"
154+
#
155+
# - name: Test dfu
156+
# run: |
157+
# ./flash.sh dfu.elf
158+
# while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 10 ]; do :; done
159+
# dfu-util -d cafe -a 0 -U dfu0
160+
# dfu-util -d cafe -a 1 -U dfu1
161+
# grep "TinyUSB DFU! - Partition 0" dfu0
162+
# grep "TinyUSB DFU! - Partition 1" dfu1
163+
#
164+
# - name: Test dfu_runtime
165+
# run: |
166+
# ./flash.sh dfu_runtime.elf
167+
# while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 10 ]; do :; done

.github/workflows/build_iar.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,81 @@ jobs:
4848

4949
- name: Build
5050
run: python3 tools/build_cmake.py ${{ matrix.family }} -DTOOLCHAIN=iar -DCMAKE_BUILD_TYPE=MinSizeRel
51+
52+
# Upload binaries for hardware test with self-hosted
53+
- name: Prepare stm32l412nucleo Artifacts
54+
if: contains(matrix.family, 'stm32l4')
55+
run: find examples/ -path "*stm32l412nucleo/*.elf" -exec mv {} . \;
56+
57+
- name: Upload Artifacts for stm32l412nucleo
58+
if: contains(matrix.family, 'stm32l4') && github.repository_owner == 'hathach'
59+
uses: actions/upload-artifact@v3
60+
with:
61+
name: stm32l4
62+
path: |
63+
*.elf
64+
65+
# ---------------------------------------
66+
# Hardware in the loop (HIL)
67+
# Current self-hosted instance is running on an EPYC 7232 server hosted by HiFiPhile user
68+
# - STM32L412 Nucleo with on-board jlink as ttyACM0
69+
# ---------------------------------------
70+
hw-stm32l412nucleo-test:
71+
needs: cmake
72+
runs-on: [self-hosted, Linux, X64, hifiphile]
73+
74+
steps:
75+
- name: Clean workspace
76+
run: |
77+
echo "Cleaning up previous run"
78+
rm -rf "${{ github.workspace }}"
79+
mkdir -p "${{ github.workspace }}"
80+
81+
- name: Download stm32l4 Artifacts
82+
uses: actions/download-artifact@v3
83+
with:
84+
name: stm32l4
85+
86+
- name: Create flash.sh
87+
run: |
88+
echo > flash.sh 'echo halt > flash.jlink'
89+
echo >> flash.sh 'echo r >> flash.jlink'
90+
echo >> flash.sh 'echo loadfile $1 >> flash.jlink'
91+
echo >> flash.sh 'echo r >> flash.jlink'
92+
echo >> flash.sh 'echo go >> flash.jlink'
93+
echo >> flash.sh 'echo exit >> flash.jlink'
94+
echo >> flash.sh 'cmdout=$(JLinkExe -device stm32l412kb -if swd -JTAGConf -1,-1 -speed auto -NoGui 1 -ExitOnError 1 -CommandFile flash.jlink)'
95+
echo >> flash.sh 'if (( $? )) ; then echo $cmdout ; fi'
96+
chmod +x flash.sh
97+
98+
- name: Test cdc_dual_ports
99+
run: |
100+
./flash.sh cdc_dual_ports.elf
101+
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 10 ]; do :; done
102+
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
103+
test -e /dev/ttyACM2 && echo "ttyACM2 exists"
104+
105+
# Debian does not auto mount usb drive. skip this test for now
106+
- name: Test cdc_msc
107+
if: false
108+
run: |
109+
./flash.sh cdc_msc.elf
110+
readme='/media/pi/TinyUSB MSC/README.TXT'
111+
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 10 ]; do :; done
112+
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
113+
test -f "$readme" && echo "$readme exists"
114+
cat "$readme"
115+
116+
- name: Test dfu
117+
run: |
118+
./flash.sh dfu.elf
119+
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 10 ]; do :; done
120+
dfu-util -d cafe -a 0 -U dfu0
121+
dfu-util -d cafe -a 1 -U dfu1
122+
grep "TinyUSB DFU! - Partition 0" dfu0
123+
grep "TinyUSB DFU! - Partition 1" dfu1
124+
125+
- name: Test dfu_runtime
126+
run: |
127+
./flash.sh dfu_runtime.elf
128+
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 10 ]; do :; done

hw/bsp/lpc55/family.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ function(family_configure_example TARGET)
103103
${TOP}/lib/sct_neopixel/sct_neopixel.c
104104
)
105105

106+
# https://github.com/gsteiert/sct_neopixel/pull/1
107+
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
108+
set_source_files_properties(${TOP}/lib/sct_neopixel/sct_neopixel.c PROPERTIES
109+
COMPILE_FLAGS "-Wno-unused-parameter")
110+
endif ()
111+
106112
target_include_directories(${TARGET} PUBLIC
107113
# family, hw, board
108114
${CMAKE_CURRENT_FUNCTION_LIST_DIR}

tools/get_deps.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
'lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43'],
5353
'hw/mcu/nxp/mcux-sdk': ['https://github.com/hathach/mcux-sdk.git',
5454
'950819b7de9b32f92c3edf396bc5ffb8d66e7009',
55-
'kinetis_k32l2 lpc51 lpc54 lpc55 mcx imxrt'],
55+
'kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx imxrt'],
5656
'hw/mcu/raspberry_pi/Pico-PIO-USB': ['https://github.com/sekigon-gonnoc/Pico-PIO-USB.git',
5757
'c3715ce94b6f6391856de56081d4d9b3e98fa93d',
5858
'rp2040'],
@@ -166,7 +166,7 @@
166166
'ch32v307'],
167167
'lib/CMSIS_5': ['https://github.com/ARM-software/CMSIS_5.git',
168168
'20285262657d1b482d132d20d755c8c330d55c1f',
169-
'imxrt kinetis_k32l2 lpc51 lpc54 lpc55 mcx mm32 msp432e4 nrf ra saml2x'
169+
'imxrt kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx mm32 msp432e4 nrf ra saml2x'
170170
'stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32g0 stm32g4 '
171171
'stm32h7 stm32l0 stm32l1 stm32l4 stm32l5 stm32u5 stm32wb'],
172172
'lib/sct_neopixel': ['https://github.com/gsteiert/sct_neopixel.git',

0 commit comments

Comments
 (0)