Skip to content

Commit 24797f4

Browse files
committed
migrate f4 and h5 to cmake build
1 parent 5969105 commit 24797f4

File tree

10 files changed

+45
-36
lines changed

10 files changed

+45
-36
lines changed

.github/workflows/build.yml

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
# ---------------------------------------
5454
# Build ARM
5555
# ---------------------------------------
56-
arm:
56+
arm-make:
5757
needs: set-matrix
5858
uses: ./.github/workflows/build_util.yml
5959
strategy:
@@ -65,15 +65,34 @@ jobs:
6565
- 'lpc55'
6666
- 'mimxrt10xx'
6767
- 'stm32f3'
68-
- 'stm32f4'
69-
- 'stm32h5'
7068
- 'stm32l4'
7169
with:
7270
port: ${{ matrix.port }}
7371
boards: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.port].board) }}
7472
build-system: 'make'
7573
toolchain: 'arm-gcc'
7674

75+
# ---------------------------------------
76+
# Build ARM with CMake
77+
# ---------------------------------------
78+
arm-cmake:
79+
needs: set-matrix
80+
uses: ./.github/workflows/build_util.yml
81+
strategy:
82+
fail-fast: false
83+
matrix:
84+
port:
85+
# Alphabetical order by family
86+
# - 'stm32f303disco' # overflows flash
87+
- 'stm32f4'
88+
- 'stm32h5'
89+
with:
90+
port: ${{ matrix.port }}
91+
boards: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.port].board) }}
92+
build-system: 'cmake'
93+
toolchain: 'arm-gcc'
94+
95+
7796
# ---------------------------------------
7897
# Build ESP
7998
# ---------------------------------------
@@ -115,24 +134,3 @@ jobs:
115134
uses: ./.github/workflows/build_ghostfat.yml
116135
with:
117136
boards: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)['test_ghostfat'].board) }}
118-
119-
# ---------------------------------------
120-
# Build ARM with CMake
121-
# ---------------------------------------
122-
arm-cmake:
123-
needs: set-matrix
124-
uses: ./.github/workflows/build_util.yml
125-
strategy:
126-
fail-fast: false
127-
matrix:
128-
port:
129-
# Alphabetical order by family
130-
#- 'metro_m7_1011'
131-
# - 'stm32f303disco' # overflows flash
132-
- 'stm32f4'
133-
- 'stm32h5'
134-
with:
135-
port: ${{ matrix.port }}
136-
boards: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.port].board) }}
137-
build-system: 'cmake'
138-
toolchain: 'arm-gcc'

apps/blinky/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ target_compile_definitions(blinky PUBLIC
2020
)
2121

2222
family_configure_app(blinky)
23+
family_gen_uf2(blinky ${UF2_FAMILY_ID})
24+
family_flash_uf2(blinky ${UF2_FAMILY_ID})

apps/erase_firmware/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ target_compile_definitions(erase_firmware PUBLIC
1919
)
2020

2121
family_configure_app(erase_firmware)
22+
family_gen_uf2(erase_firmware ${UF2_FAMILY_ID})
23+
family_flash_uf2(erase_firmware ${UF2_FAMILY_ID})

ports/family_support.cmake

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ function(family_configure_tinyuf2 TARGET OPT_MCU)
185185
family_configure_common(${TARGET})
186186

187187
include(${TOP}/src/tinyuf2.cmake)
188-
add_tinyuf2(${TARGET})
188+
add_tinyuf2_src(${TARGET})
189189

190190
family_add_tinyusb(${TARGET} ${OPT_MCU})
191191

@@ -197,12 +197,20 @@ function(family_configure_tinyuf2 TARGET OPT_MCU)
197197
UF2_VERSION_BASE="${GIT_VERSION}"
198198
UF2_VERSION="${GIT_VERSION}"
199199
)
200+
201+
# copy bin,hex to ARTIFACT_PATH
202+
add_custom_command(TARGET ${TARGET} POST_BUILD
203+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.bin ${ARTIFACT_PATH}/${TARGET}.bin
204+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.hex ${ARTIFACT_PATH}/${TARGET}.hex
205+
VERBATIM)
206+
200207
endfunction()
201208

202209
# generate .uf2 file from hex
203210
function(family_gen_uf2 TARGET FAMILY_ID)
204211
add_custom_command(TARGET ${TARGET} POST_BUILD
205212
COMMAND ${Python_EXECUTABLE} ${UF2CONV_PY} -f ${FAMILY_ID} -c -o $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.uf2 $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.hex
213+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.uf2 ${ARTIFACT_PATH}/apps/${TARGET}.uf2
206214
VERBATIM)
207215
endfunction()
208216

ports/mimxrt10xx/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,18 @@ family_configure_tinyuf2(tinyuf2 OPT_MCU_MIMXRT1XXX)
2424

2525
family_flash_sdp(tinyuf2)
2626
family_flash_jlink(tinyuf2 hex)
27+
28+
# imxrt run entirely on SRAM and can update its self using uf2
2729
family_gen_uf2_from_bin(tinyuf2 ${UF2_FAMILY_ID} ${UF2_ADDR})
2830
family_flash_uf2(tinyuf2 ${UF2_FAMILY_ID})
2931

32+
# copy to ARTIFACT_PATH
33+
add_custom_command(TARGET tinyuf2 POST_BUILD
34+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:tinyuf2>/tinyuf2.uf2 ${ARTIFACT_PATH}/apps/update-tinyuf2.uf2
35+
VERBATIM)
36+
3037
#------------------------------------
31-
# Application (e.g self update)
38+
# Application
3239
#------------------------------------
3340
add_subdirectory(${TOP}/apps/blinky ${CMAKE_BINARY_DIR}/apps/blinky)
3441
add_subdirectory(${TOP}/apps/erase_firmware ${CMAKE_BINARY_DIR}/apps/erase_firmware)

ports/mimxrt10xx/app.cmake

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,4 @@ function(family_configure_app TARGET)
1515
"LINKER:--script=${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/app.ld"
1616
"LINKER:--script=${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/common.ld"
1717
)
18-
19-
family_gen_uf2(${TARGET} ${UF2_FAMILY_ID})
20-
family_flash_uf2(${TARGET} ${UF2_FAMILY_ID})
2118
endfunction()

ports/stm32f4/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ target_link_options(tinyuf2 PUBLIC
2020

2121
family_configure_tinyuf2(tinyuf2 OPT_MCU_STM32F4)
2222
family_flash_jlink(tinyuf2)
23+
family_flash_stlink(tinyuf2)
2324

2425
#------------------------------------
2526
# Application

ports/stm32f4/app.cmake

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,4 @@ function(family_configure_app TARGET)
55
target_link_options(${TARGET} PUBLIC
66
"LINKER:--script=${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/stm32f4_app.ld"
77
)
8-
9-
family_gen_uf2(${TARGET} ${UF2_FAMILY_ID})
10-
family_flash_uf2(${TARGET} ${UF2_FAMILY_ID})
118
endfunction()

ports/stm32h5/app.cmake

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,4 @@ function(family_configure_app TARGET)
55
target_link_options(${TARGET} PUBLIC
66
"LINKER:--script=${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/stm32h5_app.ld"
77
)
8-
9-
family_gen_uf2(${TARGET} ${UF2_FAMILY_ID})
10-
family_flash_uf2(${TARGET} ${UF2_FAMILY_ID})
118
endfunction()

src/tinyuf2.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# The intention is to provide greater flexibility to users to
55
# create their own targets using the set variables.
66

7-
function (add_tinyuf2 TARGET)
7+
function (add_tinyuf2_src TARGET)
88
target_sources(${TARGET} PUBLIC
99
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/ghostfat.c
1010
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/images.c

0 commit comments

Comments
 (0)