Skip to content

Commit 887577b

Browse files
committed
build.sh: get the variant name from the Zephyr build system
Get the variant name (NORMALIZED_BOARD_TARGET) from the Zephyr build system as early as possible. This allows to have per-target build directories. Note that a bug with the shield specifiers does not currently allow to reuse the same build directory multiple times. Remove inline comments from macro definitions in include files.
1 parent e48e3af commit 887577b

File tree

15,629 files changed

+153
-143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

15,629 files changed

+153
-143
lines changed

Diff for: boards.txt

+21-37
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,17 @@ giga.menu.debug.true=Debug
1212
giga.menu.debug.false.postbuild_debug=
1313
giga.menu.debug.true.postbuild_debug=-debug
1414

15-
giga.build.variant=arduino_giga_r1_m7
15+
giga.build.variant=arduino_giga_r1_stm32h747xx_m7
1616
giga.build.mcu=cortex-m7
1717
giga.build.fpu=-mfpu=fpv5-d16
1818
giga.build.architecture=cortex-m7
1919
giga.compiler.zephyr.arch.define=-DCORE_CM7
2020

21-
giga.build.board={build.variant}
22-
2321
giga.build.float-abi=-mfloat-abi=softfp
2422
giga.build.extra_flags=
2523
giga.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
2624
giga.build.architecture=cortex-m7
27-
giga.build.board=GIGA
25+
giga.build.board=ARDUINO_GIGA
2826
giga.compiler.zephyr=
2927
giga.vid.0=0x2341
3028
giga.pid.0=0x0066
@@ -54,7 +52,7 @@ giga.bootloader.tool.default=dfu-util
5452
giga.bootloader.vid=0x2341
5553
giga.bootloader.pid=0x0366
5654
giga.bootloader.interface=0
57-
giga.bootloader.file=zephyr-arduino_giga_r1_m7.bin
55+
giga.bootloader.file=zephyr-{build.variant}.bin
5856
giga.bootloader.address=0x08040000
5957

6058
giga.debug.tool=gdb
@@ -77,14 +75,12 @@ nano33ble.menu.debug.true=Debug
7775
nano33ble.menu.debug.false.postbuild_debug=
7876
nano33ble.menu.debug.true.postbuild_debug=-debug
7977

80-
nano33ble.build.variant=arduino_nano_33_ble_sense
78+
nano33ble.build.variant=arduino_nano_33_ble_nrf52840_sense
8179
nano33ble.build.mcu=cortex-m4
8280
nano33ble.build.fpu=-mfpu=fpv4-sp-d16
8381
nano33ble.build.architecture=cortex-m4
8482
nano33ble.compiler.zephyr.arch.define=
8583

86-
nano33ble.build.board={build.variant}
87-
8884
nano33ble.build.float-abi=-mfloat-abi=hard
8985
nano33ble.build.extra_flags=
9086
nano33ble.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
@@ -118,7 +114,7 @@ nano33ble.bootloader.tool.default=bossac
118114
nano33ble.bootloader.vid=0x2341
119115
nano33ble.bootloader.pid=0x035b
120116
nano33ble.bootloader.interface=0
121-
nano33ble.bootloader.file=zephyr-arduino_nano_33_ble_sense.bin
117+
nano33ble.bootloader.file=zephyr-{build.variant}.bin
122118
nano33ble.bootloader.address=0x0000
123119

124120
nano33ble.debug.tool=gdb
@@ -140,19 +136,17 @@ ek_ra8d1.menu.debug.true=Debug
140136
ek_ra8d1.menu.debug.false.postbuild_debug=
141137
ek_ra8d1.menu.debug.true.postbuild_debug=-debug
142138

143-
ek_ra8d1.build.variant=ek_ra8d1
139+
ek_ra8d1.build.variant=ek_ra8d1_r7fa8d1bhecbd
144140
ek_ra8d1.build.mcu=cortex-m85+nomve
145141
ek_ra8d1.build.fpu=-mfpu=fpv5-d16
146142
ek_ra8d1.build.architecture=cortex-m85+nomve
147143
ek_ra8d1.compiler.zephyr.arch.define=
148144

149-
ek_ra8d1.build.board={build.variant}
150-
151145
ek_ra8d1.build.float-abi=-mfloat-abi=hard
152146
ek_ra8d1.build.extra_flags=
153147
ek_ra8d1.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
154148
ek_ra8d1.build.architecture=cortex-m85+nomve
155-
ek_ra8d1.build.board=ek_ra8d1
149+
ek_ra8d1.build.board=EK_RA8D1
156150
ek_ra8d1.compiler.zephyr.arch.define=
157151

158152
#ek_ra8d1.recipe.hooks.objcopy.postobjcopy.4.pattern=cp {build.variant.path}/flasher.jlink "{build.path}/flasher.jlink"
@@ -181,7 +175,7 @@ ek_ra8d1.upload.target=R7FA8D1AH
181175

182176
ek_ra8d1.bootloader.tool=pyocd
183177
ek_ra8d1.bootloader.tool.default=pyocd
184-
ek_ra8d1.bootloader.file=zephyr-ek_ra8d1.elf
178+
ek_ra8d1.bootloader.file=zephyr-{build.variant}.elf
185179
ek_ra8d1.bootloader.target=R7FA8D1AH
186180

187181

@@ -204,12 +198,10 @@ frdm_mcxn947.build.fpu=-mfpu=fpv5-sp-d16
204198
frdm_mcxn947.build.architecture=cortex-m33
205199
frdm_mcxn947.compiler.zephyr.arch.define=
206200

207-
frdm_mcxn947.build.board={build.variant}
208-
209201
frdm_mcxn947.build.float-abi=-mfloat-abi=hard
210202
frdm_mcxn947.build.extra_flags=
211203
frdm_mcxn947.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
212-
frdm_mcxn947.build.board=frdm_mcxn947
204+
frdm_mcxn947.build.board=FRDM_MCXN947
213205
frdm_mcxn947.compiler.zephyr.arch.define=
214206
frdm_mcxn947.compiler.zephyr=
215207
frdm_mcxn947.vid.0=0x1fc9
@@ -234,7 +226,7 @@ frdm_mcxn947.upload.maximum_data_size=523624
234226

235227
frdm_mcxn947.bootloader.tool=pyocd
236228
frdm_mcxn947.bootloader.tool.default=pyocd
237-
frdm_mcxn947.bootloader.file=zephyr-frdm_mcxn947_mcxn947_cpu0.elf
229+
frdm_mcxn947.bootloader.file=zephyr-{build.variant}.elf
238230
frdm_mcxn947.bootloader.target=mcxn947vdf
239231

240232

@@ -251,19 +243,17 @@ portentah7.menu.debug.true=Debug
251243
portentah7.menu.debug.false.postbuild_debug=
252244
portentah7.menu.debug.true.postbuild_debug=-debug
253245

254-
portentah7.build.variant=arduino_portenta_h7
246+
portentah7.build.variant=arduino_portenta_h7_stm32h747xx_m7
255247
portentah7.build.mcu=cortex-m7
256248
portentah7.build.fpu=-mfpu=fpv5-d16
257249
portentah7.build.architecture=cortex-m7
258250
portentah7.compiler.zephyr.arch.define=-DCORE_CM7
259251

260-
portentah7.build.board={build.variant}
261-
262252
portentah7.build.float-abi=-mfloat-abi=softfp
263253
portentah7.build.extra_flags=
264254
portentah7.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
265255
portentah7.build.architecture=cortex-m7
266-
portentah7.build.board=PORTENTA_H7
256+
portentah7.build.board=ARDUINO_PORTENTA_H7
267257
portentah7.compiler.zephyr=
268258
portentah7.vid.0=0x2341
269259
portentah7.pid.0=0x005b
@@ -293,7 +283,7 @@ portentah7.bootloader.tool.default=dfu-util
293283
portentah7.bootloader.vid=0x2341
294284
portentah7.bootloader.pid=0x035b
295285
portentah7.bootloader.interface=0
296-
portentah7.bootloader.file=zephyr-arduino_portenta_h7.bin
286+
portentah7.bootloader.file=zephyr-{build.variant}.bin
297287
portentah7.bootloader.address=0x08040000
298288

299289
portentah7.debug.tool=gdb
@@ -316,18 +306,16 @@ frdm_rw612.menu.debug.true=Debug
316306
frdm_rw612.menu.debug.false.postbuild_debug=
317307
frdm_rw612.menu.debug.true.postbuild_debug=-debug
318308

319-
frdm_rw612.build.variant=frdm_rw612
309+
frdm_rw612.build.variant=frdm_rw612_rw612
320310
frdm_rw612.build.mcu=cortex-m33+nodsp
321311
frdm_rw612.build.fpu=-mfpu=fpv5-sp-d16
322312
frdm_rw612.build.architecture=cortex-m33+nodsp
323313
frdm_rw612.compiler.zephyr.arch.define=
324314

325-
frdm_rw612.build.board={build.variant}
326-
327315
frdm_rw612.build.float-abi=-mfloat-abi=hard
328316
frdm_rw612.build.extra_flags=
329317
frdm_rw612.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
330-
frdm_rw612.build.board=frdm_rw612
318+
frdm_rw612.build.board=FRDM_RW612
331319
frdm_rw612.compiler.zephyr.arch.define=
332320
frdm_rw612.compiler.zephyr=
333321
frdm_rw612.vid.0=0x1fc9
@@ -352,7 +340,7 @@ frdm_rw612.upload.maximum_data_size=523624
352340

353341
frdm_rw612.bootloader.tool=pyocd
354342
frdm_rw612.bootloader.tool.default=pyocd
355-
frdm_rw612.bootloader.file=zephyr-frdm_rw612.elf
343+
frdm_rw612.bootloader.file=zephyr-{build.variant}.elf
356344
frdm_rw612.bootloader.target=rw612
357345

358346
##########################################################################################
@@ -368,14 +356,12 @@ niclasense.menu.debug.true=Debug
368356
niclasense.menu.debug.false.postbuild_debug=
369357
niclasense.menu.debug.true.postbuild_debug=-debug
370358

371-
niclasense.build.variant=arduino_nicla_sense_me
359+
niclasense.build.variant=arduino_nicla_sense_me_nrf52832
372360
niclasense.build.mcu=cortex-m4
373361
niclasense.build.fpu=-mfpu=fpv4-sp-d16
374362
niclasense.build.architecture=cortex-m4
375363
niclasense.compiler.zephyr.arch.define=
376364

377-
niclasense.build.board={build.variant}
378-
379365
niclasense.build.float-abi=-mfloat-abi=hard
380366
niclasense.build.extra_flags=
381367
niclasense.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
@@ -414,7 +400,7 @@ niclasense.bootloader.tool.default=pyocd
414400
niclasense.bootloader.vid=0x2341
415401
niclasense.bootloader.pid=0x0360
416402
niclasense.bootloader.interface=0
417-
niclasense.bootloader.file=zephyr-arduino_nicla_sense_me.hex
403+
niclasense.bootloader.file=zephyr-{build.variant}.hex
418404
niclasense.bootloader.target=nrf52
419405

420406
niclasense.debug.tool=gdb
@@ -447,18 +433,16 @@ portentac33.menu.mode.linked.build.ldscript={runtime.platform.path}/variants/lin
447433
portentac33.menu.mode.linked.upload.extension=bin-zsk.bin
448434
portentac33.menu.mode.linked.postbuild_mode=-linked
449435

450-
portentac33.build.variant=arduino_portenta_c33
436+
portentac33.build.variant=arduino_portenta_c33_r7fa6m5bh3cfc
451437
portentac33.build.mcu=cortex-m33
452438
portentac33.build.fpu=-mfpu=fpv5-sp-d16
453439
portentac33.build.architecture=cortex-m33
454440
portentac33.compiler.zephyr.arch.define=
455441

456-
portentac33.build.board={build.variant}
457-
458442
portentac33.build.float-abi=-mfloat-abi=hard
459443
portentac33.build.extra_flags=
460444
portentac33.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit
461-
portentac33.build.board=arduino_portenta_c33
445+
portentac33.build.board=ARDUINO_PORTENTA_C33
462446
portentac33.compiler.zephyr.arch.define=
463447
portentac33.compiler.zephyr=
464448
portentac33.vid.0=0x2341
@@ -484,7 +468,7 @@ portentac33.upload.dfuse=-Q
484468

485469
portentac33.bootloader.tool=dfu-util
486470
portentac33.bootloader.tool.default=dfu-util
487-
portentac33.bootloader.file=zephyr-arduino_portenta_c33.bin
471+
portentac33.bootloader.file=zephyr-{build.variant}.bin
488472
portentac33.bootloader.interface=0
489473
portentac33.bootloader.address=0x10000
490474
portentac33.bootloader.dfuse=-Q

Diff for: extra/build.sh

+56-31
Original file line numberDiff line numberDiff line change
@@ -12,48 +12,73 @@ if [ x$ZEPHYR_SDK_INSTALL_DIR == x"" ]; then
1212
export ZEPHYR_SDK_INSTALL_DIR=${SDK_PATH}
1313
fi
1414

15-
board=$1
16-
variant=$2
17-
third_arg=$3
18-
extra_args=""
19-
2015
if [[ $# -eq 0 ]]; then
21-
board=arduino_giga_r1//m7
22-
variant=arduino_giga_r1_m7
16+
board=arduino_giga_r1//m7
17+
else
18+
board=$1
19+
shift
2320
fi
2421

2522
source venv/bin/activate
2623

27-
if [ "$third_arg" != "" ]; then
28-
extra_args="--shield $third_arg"
29-
fi
24+
ZEPHYR_BASE=$(west topdir)/zephyr
3025

31-
(west build loader -b $board -p $extra_args && west build -t llext-edk)
32-
(rm -rf variants/$variant/* && tar xfp build/zephyr/llext-edk.tar.xz --directory variants/$variant/)
26+
# Get the variant name (NORMALIZED_BOARD_TARGET in Zephyr)
27+
tmpdir=$(mktemp -d)
28+
variant=$(cmake -DBOARD=$board -P extra/get_variant_name.cmake | grep 'VARIANT=' | cut -d '=' -f 2)
29+
rm -rf ${tmpdir}
3330

34-
(cp build/zephyr/zephyr.elf firmwares/zephyr-$variant.elf)
35-
if [ -f build/zephyr/zephyr.bin ]; then
36-
cp build/zephyr/zephyr.bin firmwares/zephyr-$variant.bin
37-
elif [ -f build/zephyr/zephyr.hex ]; then
38-
cp build/zephyr/zephyr.hex firmwares/zephyr-$variant.hex
31+
if [ -z "${variant}" ] ; then
32+
echo "Failed to get variant name from '$board'"
33+
exit 1
3934
fi
4035

36+
echo && echo && echo
37+
echo ${variant}
38+
echo ${variant} | sed -e 's/./=/g'
39+
echo
40+
41+
# Build the loader
42+
BUILD_DIR=build/${variant}
43+
VARIANT_DIR=variants/${variant}
44+
rm -rf ${BUILD_DIR}
45+
west build -d ${BUILD_DIR} -b ${board} loader -t llext-edk $*
46+
47+
# Extract the generated EDK tarball and copy it to the variant directory
48+
mkdir -p ${VARIANT_DIR} firmwares
49+
(set -e ; cd ${BUILD_DIR} && rm -rf llext-edk && tar xf zephyr/llext-edk.tar.Z)
50+
rsync -a --delete ${BUILD_DIR}/llext-edk ${VARIANT_DIR}/
51+
52+
# remove all inline comments in macro definitions
53+
# (especially from devicetree_generated.h and sys/util_internal.h)
54+
line_preproc_ok='^\s*#\s*(if|else|elif|endif)' # match conditional preproc lines
55+
line_comment_only='^\s*\/\*' # match lines starting with comment
56+
line_continuation='\\$' # match lines ending with '\'
57+
c_comment='\s*\/\*.*?\*\/' # match C-style comments and any preceding space
58+
perl -i -pe "s/${c_comment}//gs unless /${line_preproc_ok}/ || (/${line_comment_only}/ && !/${line_continuation}/)" $(find ${VARIANT_DIR}/llext-edk/include/ -type f)
59+
for ext in elf bin hex; do
60+
rm -f firmwares/zephyr-$variant.$ext
61+
if [ -f ${BUILD_DIR}/zephyr/zephyr.$ext ]; then
62+
cp ${BUILD_DIR}/zephyr/zephyr.$ext firmwares/zephyr-$variant.$ext
63+
fi
64+
done
65+
4166
# Generate the provides.ld file for linked builds
4267
echo "Exporting provides.ld"
4368
READELF=${ZEPHYR_SDK_INSTALL_DIR}/arm-zephyr-eabi/bin/arm-zephyr-eabi-readelf
44-
$READELF --wide -s build/zephyr/zephyr.elf | c++filt | grep FUNC | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' > variants/$variant/provides.ld
45-
$READELF --wide -s build/zephyr/zephyr.elf | c++filt | grep kheap_llext_heap | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' >> variants/$variant/provides.ld
46-
$READELF --wide -s build/zephyr/zephyr.elf | c++filt | grep kheap_llext_heap | awk -F' ' '{print "PROVIDE(kheap_llext_heap_size = "$3");"}' >> variants/$variant/provides.ld
47-
$READELF --wide -s build/zephyr/zephyr.elf | c++filt | grep kheap__system_heap | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' >> variants/$variant/provides.ld
48-
$READELF --wide -s build/zephyr/zephyr.elf | c++filt | grep kheap__system_heap | awk -F' ' '{print "PROVIDE(kheap__system_heap_size = "$3");"}' >> variants/$variant/provides.ld
49-
cat build/zephyr/zephyr.map | grep __device_dts_ord | grep -v rodata | grep -v llext_const_symbol | awk -F' ' '{print "PROVIDE("$2" = "$1");"}' >> variants/$variant/provides.ld
50-
TEXT_START=`cat loader/boards/$variant.overlay | grep user_sketch: | cut -f2 -d"@" | cut -f1 -d"{"`
51-
echo "PROVIDE(_sketch_start = 0x$TEXT_START);" >> variants/$variant/provides.ld
52-
53-
sed -i 's/PROVIDE(malloc =/PROVIDE(__wrap_malloc =/g' variants/$variant/provides.ld
54-
sed -i 's/PROVIDE(free =/PROVIDE(__wrap_free =/g' variants/$variant/provides.ld
55-
sed -i 's/PROVIDE(realloc =/PROVIDE(__wrap_realloc =/g' variants/$variant/provides.ld
56-
sed -i 's/PROVIDE(calloc =/PROVIDE(__wrap_calloc =/g' variants/$variant/provides.ld
57-
sed -i 's/PROVIDE(random =/PROVIDE(__wrap_random =/g' variants/$variant/provides.ld
69+
$READELF --wide -s ${BUILD_DIR}/zephyr/zephyr.elf | c++filt | grep FUNC | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' > ${VARIANT_DIR}/provides.ld
70+
$READELF --wide -s ${BUILD_DIR}/zephyr/zephyr.elf | c++filt | grep kheap_llext_heap | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' >> ${VARIANT_DIR}/provides.ld
71+
$READELF --wide -s ${BUILD_DIR}/zephyr/zephyr.elf | c++filt | grep kheap_llext_heap | awk -F' ' '{print "PROVIDE(kheap_llext_heap_size = "$3");"}' >> ${VARIANT_DIR}/provides.ld
72+
$READELF --wide -s ${BUILD_DIR}/zephyr/zephyr.elf | c++filt | grep kheap__system_heap | awk -F' ' '{print "PROVIDE("$8" = 0x"$2");"}' >> ${VARIANT_DIR}/provides.ld
73+
$READELF --wide -s ${BUILD_DIR}/zephyr/zephyr.elf | c++filt | grep kheap__system_heap | awk -F' ' '{print "PROVIDE(kheap__system_heap_size = "$3");"}' >> ${VARIANT_DIR}/provides.ld
74+
cat ${BUILD_DIR}/zephyr/zephyr.map | grep __device_dts_ord | grep -v rodata | grep -v llext_const_symbol | awk -F' ' '{print "PROVIDE("$2" = "$1");"}' >> ${VARIANT_DIR}/provides.ld
75+
TEXT_START=`cat variants/$variant/$variant.overlay | grep user_sketch: | cut -f2 -d"@" | cut -f1 -d"{"`
76+
echo "PROVIDE(_sketch_start = 0x$TEXT_START);" >> ${VARIANT_DIR}/provides.ld
77+
78+
sed -i 's/PROVIDE(malloc =/PROVIDE(__wrap_malloc =/g' ${VARIANT_DIR}/provides.ld
79+
sed -i 's/PROVIDE(free =/PROVIDE(__wrap_free =/g' ${VARIANT_DIR}/provides.ld
80+
sed -i 's/PROVIDE(realloc =/PROVIDE(__wrap_realloc =/g' ${VARIANT_DIR}/provides.ld
81+
sed -i 's/PROVIDE(calloc =/PROVIDE(__wrap_calloc =/g' ${VARIANT_DIR}/provides.ld
82+
sed -i 's/PROVIDE(random =/PROVIDE(__wrap_random =/g' ${VARIANT_DIR}/provides.ld
5883

5984
cmake -P extra/gen_arduino_files.cmake $variant

Diff for: extra/build_all.sh

+8-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
set -e
44

5-
./extra/build.sh arduino_giga_r1//m7 arduino_giga_r1_m7 giga_display_shield
6-
./extra/build.sh arduino_nano_33_ble//sense arduino_nano_33_ble_sense
7-
./extra/build.sh arduino_portenta_h7//m7 arduino_portenta_h7
8-
./extra/build.sh ek_ra8d1 ek_ra8d1
9-
./extra/build.sh frdm_mcxn947/mcxn947/cpu0 frdm_mcxn947_mcxn947_cpu0
10-
./extra/build.sh frdm_rw612 frdm_rw612
11-
./extra/build.sh arduino_portenta_c33 arduino_portenta_c33
5+
./extra/build.sh arduino_giga_r1//m7 --shield giga_display_shield
6+
./extra/build.sh arduino_nano_33_ble//sense
7+
./extra/build.sh arduino_nicla_sense_me
8+
./extra/build.sh arduino_portenta_c33
9+
./extra/build.sh arduino_portenta_h7//m7
10+
./extra/build.sh ek_ra8d1
11+
./extra/build.sh frdm_mcxn947/mcxn947/cpu0
12+
./extra/build.sh frdm_rw612

Diff for: extra/get_variant_name.cmake

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright (C) 2025 Arduino SA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
#
5+
# Generate NORMALIZED_BOARD_TARGET from BOARD via the Zephyr build system
6+
#
7+
8+
cmake_minimum_required(VERSION 3.20.0)
9+
10+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} COMPONENTS yaml boards)
11+
message(STATUS "VARIANT=${NORMALIZED_BOARD_TARGET}")

Diff for: extra/post_build_tool/zephyr-post-build-tool

2.41 MB
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Diff for: loader/CMakeLists.txt

+7-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
cmake_minimum_required(VERSION 3.20.0)
66

7+
# get value of NORMALIZED_BOARD_TARGET early
8+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} COMPONENTS yaml boards)
9+
10+
set(DTC_OVERLAY_FILE ${CMAKE_CURRENT_LIST_DIR}/../variants/${NORMALIZED_BOARD_TARGET}/${NORMALIZED_BOARD_TARGET}.overlay)
11+
set(EXTRA_CONF_FILE ${CMAKE_CURRENT_LIST_DIR}/../variants/${NORMALIZED_BOARD_TARGET}/${NORMALIZED_BOARD_TARGET}.conf)
12+
713
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
814

915
project(app LANGUAGES C CXX)
@@ -13,4 +19,4 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/blobs)
1319
FILE(GLOB app_sources *.c)
1420
target_sources(app PRIVATE ${app_sources})
1521

16-
target_link_libraries(app PUBLIC blobs)
22+
target_link_libraries(app PUBLIC blobs)

Diff for: loader/prj.conf

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ CONFIG_LLEXT_SHELL=y
2525
CONFIG_LLEXT_STORAGE_WRITABLE=y
2626
CONFIG_LLEXT_EXPORT_DEVICES=y
2727

28+
CONFIG_LLEXT_EDK=y
29+
CONFIG_LLEXT_EDK_FORMAT_TAR_ZSTD=y
30+
2831
CONFIG_GPIO=y
2932
CONFIG_PINCTRL=y
3033
CONFIG_I2C=y

0 commit comments

Comments
 (0)