Skip to content

Commit 408896c

Browse files
committed
Add script to generate provisioning binaries
1 parent 6d167a0 commit 408896c

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

firmware/generate.sh

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Exit if any of the following commands fails
2+
set -e
3+
4+
# Prerequisite: arduino-cli should be already installed
5+
6+
# Install needed arduino cores
7+
arduino-cli core update-index -v
8+
arduino-cli version
9+
arduino-cli core install arduino:samd
10+
arduino-cli core install arduino:mbed_nano
11+
arduino-cli core install arduino:mbed_portenta
12+
13+
# Install crypto dependencies
14+
arduino-cli lib install ArduinoIotCloud
15+
arduino-cli lib install ArduinoECCX08
16+
arduino-cli lib install ArduinoSTL
17+
arduino-cli lib install uCRC16Lib
18+
19+
# Install lora dependencies
20+
arduino-cli lib install MKRWAN
21+
22+
# Compile in binaries folder
23+
24+
CRYPTO_FQBNS="
25+
arduino:samd:nano_33_iot
26+
arduino:samd:mkrwifi1010
27+
arduino:mbed_nano:nanorp2040connect
28+
arduino:mbed_portenta:envie_m7
29+
arduino:samd:mkr1000
30+
arduino:samd:mkrgsm1400
31+
arduino:samd:mkrnb1500
32+
"
33+
34+
LORA_FQBNS="
35+
arduino:samd:mkrwan1300
36+
arduino:samd:mkrwan1310
37+
"
38+
39+
# Generate crypto provisioning binaries
40+
SKETCH_FOLDER="provisioning/CryptoProvision"
41+
SKETCH_NAME="CryptoProvision"
42+
OUTPUT_FOlDER="binaries/crypto"
43+
mkdir -p $OUTPUT_FOlDER
44+
45+
for BOARD in $CRYPTO_FQBNS
46+
do
47+
echo "compiling for $BOARD"
48+
arduino-cli compile -e -b $BOARD $SKETCH_FOLDER
49+
FORMATTED_BOARD=${BOARD//:/.}
50+
EXT=".bin"
51+
52+
if [ $BOARD == "arduino:mbed_nano:nanorp2040connect" ]
53+
then
54+
EXT=".elf"
55+
fi
56+
57+
cp $SKETCH_FOLDER/build/$FORMATTED_BOARD/$SKETCH_NAME.ino$EXT $OUTPUT_FOlDER/$FORMATTED_BOARD$EXT
58+
done
59+
60+
# Generate lora provisioning binaries
61+
SKETCH_FOLDER="provisioning/LoraProvision"
62+
SKETCH_NAME="LoraProvision"
63+
OUTPUT_FOlDER="binaries/lora"
64+
mkdir -p $OUTPUT_FOlDER
65+
66+
for BOARD in $LORA_FQBNS
67+
do
68+
echo "compiling for $BOARD"
69+
arduino-cli compile -e -b $BOARD $SKETCH_FOLDER
70+
FORMATTED_BOARD=${BOARD//:/.}
71+
EXT=".bin"
72+
73+
cp $SKETCH_FOLDER/build/$FORMATTED_BOARD/$SKETCH_NAME.ino$EXT $OUTPUT_FOlDER/$FORMATTED_BOARD$EXT
74+
done
75+

0 commit comments

Comments
 (0)