@@ -33,19 +33,22 @@ function sample_build() {
33
33
local vendor=$1
34
34
local board=$2
35
35
local outdir=$3
36
+ local buildver=$4
36
37
37
38
if [ $vendor == " ESPRESSIF" ]
38
39
then
39
- idf.py build -C ./demos/projects/ESPRESSIF/$board
40
+ idf.py build -DCMAKE_BUILD_TYPE=$buildver -C ./demos/projects/ESPRESSIF/$board
41
+ echo -e " ::group::Print Size for $board $buildver "
42
+ ninja -C ./demos/projects/ESPRESSIF/$board /build size-components
40
43
else
41
- cmake -G Ninja -DBOARD=$board -DVENDOR=$vendor -B$outdir -DFREERTOS_PATH=$TEST_FREERTOS_SRC .
42
- cmake --build $outdir
44
+ cmake -G Ninja -DBOARD=$board -DVENDOR=$vendor -B$outdir -DFREERTOS_PATH=$TEST_FREERTOS_SRC -DCMAKE_BUILD_TYPE= $buildver .
45
+ cmake --build $outdir | tee build.txt
43
46
fi
44
47
}
45
48
46
49
function fetch_freertos()
47
50
{
48
- if [ $FREERTOS_FETCHED == 0 ]
51
+ if [ ! -d " ` pwd ` /libs/FreeRTOS " ]
49
52
then
50
53
$TEST_SCRIPT_DIR /fetch_freertos.sh $TEST_FREERTOS_SRC
51
54
FREERTOS_FETCHED=1
@@ -56,44 +59,119 @@ for arg in $RUN_BOARDS_BUILD
56
59
do
57
60
case " $arg " in
58
61
" -esp" )
59
- echo -e " ::group::Building sample for ESPRESSIF ESP32 port"
60
- sample_build " ESPRESSIF" " esp32" " build"
62
+ echo -e " ::group::Building sample for ESPRESSIF ESP32 port - Debug "
63
+ sample_build " ESPRESSIF" " esp32" " build" " Debug "
61
64
exit_if_binary_does_not_exist " ./demos/projects/ESPRESSIF/esp32/build" " azure_iot_freertos_esp32.bin"
62
- sample_build " ESPRESSIF" " aziotkit" " build"
65
+ sample_build " ESPRESSIF" " aziotkit" " build" " Debug"
66
+ exit_if_binary_does_not_exist " ./demos/projects/ESPRESSIF/aziotkit/build" " azure_iot_freertos_esp32.bin"
67
+
68
+ rm -rf build
69
+
70
+ echo -e " ::group::Building sample for ESPRESSIF ESP32 port - Release"
71
+ sample_build " ESPRESSIF" " esp32" " build" " Release"
72
+ exit_if_binary_does_not_exist " ./demos/projects/ESPRESSIF/esp32/build" " azure_iot_freertos_esp32.bin"
73
+ sample_build " ESPRESSIF" " aziotkit" " build" " Release"
63
74
exit_if_binary_does_not_exist " ./demos/projects/ESPRESSIF/aziotkit/build" " azure_iot_freertos_esp32.bin"
64
75
;;
65
76
" -nxp" )
66
77
fetch_freertos
67
78
68
- echo -e " ::group::Building sample for NXP mimxrt1060 port"
69
- sample_build " NXP" " mimxrt1060" " build_nxp_mimxrt1060"
79
+ echo -e " ::group::Building sample for NXP mimxrt1060 port - Debug "
80
+ sample_build " NXP" " mimxrt1060" " build_nxp_mimxrt1060" " Debug "
70
81
exit_if_binary_does_not_exist " build_nxp_mimxrt1060" " iot-middleware-sample.elf"
71
82
exit_if_binary_does_not_exist " build_nxp_mimxrt1060" " iot-middleware-sample-pnp.elf"
83
+
84
+ echo -e " ::group::Print Size for Debug"
85
+ grep -A9 " Linking C executable demos/projects/NXP/mimxrt1060/iot-middleware-sample.elf" build.txt
86
+ grep -A9 " Linking C executable demos/projects/NXP/mimxrt1060/iot-middleware-sample-pnp.elf" build.txt
87
+
88
+ rm -rf build_nxp_mimxrt1060
89
+
90
+ echo -e " ::group::Building sample for NXP mimxrt1060 port - Release"
91
+ sample_build " NXP" " mimxrt1060" " build_nxp_mimxrt1060" " Release"
92
+ exit_if_binary_does_not_exist " build_nxp_mimxrt1060" " iot-middleware-sample.elf"
93
+ exit_if_binary_does_not_exist " build_nxp_mimxrt1060" " iot-middleware-sample-pnp.elf"
94
+
95
+ echo -e " ::group::Print Size for Release"
96
+ grep -A9 " Linking C executable demos/projects/NXP/mimxrt1060/iot-middleware-sample.elf" build.txt
97
+ grep -A9 " Linking C executable demos/projects/NXP/mimxrt1060/iot-middleware-sample-pnp.elf" build.txt
72
98
;;
73
99
" -st" )
74
100
fetch_freertos
75
101
76
- echo -e " ::group::Building sample for ST b-l475e-iot01a port"
77
- sample_build " ST" " b-l475e-iot01a" " build_st_b-l475e-iot01a"
102
+ # STM32 BL475E-IoT1A
103
+ echo -e " ::group::Building sample for ST b-l475e-iot01a port - Debug"
104
+ sample_build " ST" " b-l475e-iot01a" " build_st_b-l475e-iot01a" " Debug"
105
+ exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample.elf"
106
+ exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample-pnp.elf"
107
+ exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample-gsg.elf"
108
+ echo -e " ::group::Print Size for Debug"
109
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample.elf" build.txt
110
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample-pnp.elf" build.txt
111
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample-gsg.elf" build.txt
112
+
113
+ rm -rf build_st_b-l475e-iot01a
114
+
115
+ echo -e " ::group::Building sample for ST b-l475e-iot01a port - Release"
116
+ sample_build " ST" " b-l475e-iot01a" " build_st_b-l475e-iot01a" " Release"
78
117
exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample.elf"
79
118
exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample-pnp.elf"
80
119
exit_if_binary_does_not_exist " build_st_b-l475e-iot01a" " iot-middleware-sample-gsg.elf"
120
+ echo -e " ::group::Print Size for Release"
121
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample.elf" build.txt
122
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample-pnp.elf" build.txt
123
+ grep -A5 " Linking C executable demos/projects/ST/b-l475e-iot01a/iot-middleware-sample-gsg.elf" build.txt
81
124
82
- echo -e " ::group::Building sample for ST stm32h745i-disco port"
83
- sample_build " ST" " stm32h745i-disco" " build_st_stm32h745i-disco"
125
+ # STM32 H745 Discovery
126
+ echo -e " ::group::Building sample for ST stm32h745i-disco port - Debug"
127
+ sample_build " ST" " stm32h745i-disco" " build_st_stm32h745i-disco" " Debug"
84
128
exit_if_binary_does_not_exist " build_st_stm32h745i-disco" " iot-middleware-sample.elf"
85
129
exit_if_binary_does_not_exist " build_st_stm32h745i-disco" " iot-middleware-sample-pnp.elf"
130
+ echo -e " ::group::Print Size for Debug"
131
+ grep -A5 " Linking C executable demos/projects/ST/stm32h745i-disco/cm7/iot-middleware-sample.elf" build.txt
132
+ grep -A5 " Linking C executable demos/projects/ST/stm32h745i-disco/cm7/iot-middleware-sample-pnp.elf" build.txt
133
+
134
+ rm -rf build_st_stm32h745i-disco
86
135
87
- echo -e " ::group::Building sample for ST b-l4s5i-iot01a port"
88
- sample_build " ST" " b-l4s5i-iot01a" " build_st_b-l4s5i-iot01a"
136
+ echo -e " ::group::Building sample for ST stm32h745i-disco port - Release"
137
+ sample_build " ST" " stm32h745i-disco" " build_st_stm32h745i-disco" " Release"
138
+ exit_if_binary_does_not_exist " build_st_stm32h745i-disco" " iot-middleware-sample.elf"
139
+ exit_if_binary_does_not_exist " build_st_stm32h745i-disco" " iot-middleware-sample-pnp.elf"
140
+ echo -e " ::group::Print Size for Release"
141
+ grep -A5 " Linking C executable demos/projects/ST/stm32h745i-disco/cm7/iot-middleware-sample.elf" build.txt
142
+ grep -A5 " Linking C executable demos/projects/ST/stm32h745i-disco/cm7/iot-middleware-sample-pnp.elf" build.txt
143
+
144
+ # STM32 BL4S5I-IoT1A
145
+ echo -e " ::group::Building sample for ST b-l4s5i-iot01a port - Debug"
146
+ sample_build " ST" " b-l4s5i-iot01a" " build_st_b-l4s5i-iot01a" " Debug"
89
147
exit_if_binary_does_not_exist " build_st_b-l4s5i-iot01a" " iot-middleware-sample.elf"
90
148
exit_if_binary_does_not_exist " build_st_b-l4s5i-iot01a" " iot-middleware-sample-pnp.elf"
149
+ echo -e " ::group::Print Size for Debug"
150
+ grep -A5 " Linking C executable demos/projects/ST/b-l4s5i-iot01a/iot-middleware-sample.elf" build.txt
151
+ grep -A5 " Linking C executable demos/projects/ST/b-l4s5i-iot01a/iot-middleware-sample-pnp.elf" build.txt
152
+
153
+ rm -rf build_st_b-l4s5i-iot01a
154
+
155
+ echo -e " ::group::Building sample for ST b-l4s5i-iot01a port - Release"
156
+ sample_build " ST" " b-l4s5i-iot01a" " build_st_b-l4s5i-iot01a" " Release"
157
+ exit_if_binary_does_not_exist " build_st_b-l4s5i-iot01a" " iot-middleware-sample.elf"
158
+ exit_if_binary_does_not_exist " build_st_b-l4s5i-iot01a" " iot-middleware-sample-pnp.elf"
159
+ echo -e " ::group::Print Size for Release"
160
+ grep -A5 " Linking C executable demos/projects/ST/b-l4s5i-iot01a/iot-middleware-sample.elf" build.txt
161
+ grep -A5 " Linking C executable demos/projects/ST/b-l4s5i-iot01a/iot-middleware-sample-pnp.elf" build.txt
91
162
;;
92
163
" -pc" )
93
164
fetch_freertos
94
165
95
- echo -e " ::group::Building sample for linux port"
96
- sample_build " PC" " linux" " build_pc_linux"
166
+ echo -e " ::group::Building sample for linux port - Debug"
167
+ sample_build " PC" " linux" " build_pc_linux" " Debug"
168
+ exit_if_binary_does_not_exist " build_pc_linux" " iot-middleware-sample"
169
+ exit_if_binary_does_not_exist " build_pc_linux" " iot-middleware-sample-pnp"
170
+
171
+ rm -rf build_pc_linux
172
+
173
+ echo -e " ::group::Building sample for linux port - Release"
174
+ sample_build " PC" " linux" " build_pc_linux" " Release"
97
175
exit_if_binary_does_not_exist " build_pc_linux" " iot-middleware-sample"
98
176
exit_if_binary_does_not_exist " build_pc_linux" " iot-middleware-sample-pnp"
99
177
;;
0 commit comments