2025-06-17 1:08 AM
Good morning all
Im trying to follow the https://github.com/actility/nucleo-stm32wl55jc-fuotav1?tab=readme-ov-file#readme in order to simulate a firmware update on my STM32WLJC1 nucleo board but i am running into a something strange. All the projects build successfully but the first project to build, namely 1_image_SECoreBin builds with 6 warnings. The rest of the projects , 1_image_BFU and LoRwaWAN_End_Node buid with no warnings. When I try and program this to my board, the old firmware remains on the device even after supposedly being successful. My assumption is that it is due to these warnings. What should i do in order to stop these warnings and allow a successful upload. Attached you will find the outcome of the first build.
In function 'determine_block_state',
inlined from 'determine_block_state' at C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.c:721:28,
inlined from 'try_boot' at C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.c:854:10,
inlined from 'NVMS_Init' at C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.c:1178:24:
C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.c:731:77: warning: array subscript 'nvms_data_header_t {aka union nvms_data_header}[0]' is partly outside array bounds of 'uint32_t[1]' {aka 'long unsigned int[1]'} [-Warray-bounds=]
731 | *instance = ((nvms_data_header_t *)NVMS_LL_GetBlockAddress(block))->fields.instance;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from ../../Inc/nvms_low_level.h:32,
from C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.h:25,
from C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Modules/kms_nvm_storage.c:27:
../../../Linker_Common/STM32CubeIDE/mapping_export.h: In function 'NVMS_Init':
../../../Linker_Common/STM32CubeIDE/mapping_export.h:62:17: note: object 'KMS_DataStorage_start' of size 4
62 | extern uint32_t KMS_DataStorage_start;
| ^~~~~~~~~~~~~~~~~~~~~
arm-none-eabi-gcc "C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA/1_Image_SECoreBin/Src/kms_low_level.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/kms_low_level.d" -MT"Application/User/kms_low_level.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/kms_low_level.o"
arm-none-eabi-gcc "C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA/1_Image_SECoreBin/Src/nvms_low_level.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/nvms_low_level.d" -MT"Application/User/nvms_low_level.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/nvms_low_level.o"
arm-none-eabi-gcc "C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA/1_Image_SECoreBin/Src/se_low_level.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/se_low_level.d" -MT"Application/User/se_low_level.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/se_low_level.o"
arm-none-eabi-gcc "../Application/User/syscalls.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/syscalls.d" -MT"Application/User/syscalls.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/syscalls.o"
arm-none-eabi-gcc "../Application/User/sysmem.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/sysmem.d" -MT"Application/User/sysmem.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/sysmem.o"
arm-none-eabi-gcc "../Application/Startup/data_init.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DKMS_ENABLED -DSTM32WL55xx -DCORE_CM4 '-DMBEDTLS_CONFIG_FILE=<mbed_crypto_config.h>' -DDEBUG -DIT_MANAGEMENT_DISABLED -c -I.. -I../../Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc -I../../../../../../../Drivers/STM32WLxx_HAL_Driver/Inc/Legacy -I../../../../../../../Drivers/CMSIS/Device/ST/STM32WLxx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/BSP/STM32WLxx_Nucleo -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Core -I../../../../../../../Middlewares/ST/STM32_Secure_Engine/Key -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Core -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi -I../../../../../../../Middlewares/ST/STM32_Key_Management_Services/Modules -I../../../../../../../Middlewares/Third_Party/mbed-crypto/include -I../../../1_Image_BFU/BFU/App -I../../../1_Image_BFU/BFU/Target -I../../../Linker_Common/STM32CubeIDE -I../../../LoRaWAN_End_Node/LoRaWAN/App -I../../../LoRaWAN_End_Node/LoRaWAN/Target -Os -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/Startup/data_init.d" -MT"Application/Startup/data_init.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/Startup/data_init.o"
In file included from C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi/ca_aes.c:41,
from C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi/ca_core.c:38:
C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi/HAL/ca_aes_hal.c: In function 'CA_AES_CCM_Header_Append':
C:/GitClones/Actilitity_FUOTA/nucleo-stm32wl55jc-fuotav1/Middlewares/ST/STM32_Key_Management_Services/Interface/CryptoApi/HAL/ca_aes_hal.c:976:13: warning: 'memcpy' specified bound between 2147483648 and 4294967295 exceeds maximum object size 2147483647 [-Wstringop-overflow=]
976 | (void)memcpy(&(header[6]), P_pInputBuffer, (uint32_t)P_inputSize);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../Application/Startup/data_init.c: In function 'LoopCopyDataInit':
../Application/Startup/data_init.c:19:29: warning: array subscript 'uint32_t {aka volatile long unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds=]
19 | dst[i] = src[i];
| ~~~^~~
../Application/Startup/data_init.c:9:21: note: object '_sidata' of size 1
9 | extern char _sidata asm("_sidata");
| ^~~~~~~
../Application/Startup/data_init.c:19:20: warning: array subscript 'uint32_t {aka volatile long unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds=]
19 | dst[i] = src[i];
| ~~~^~~
../Application/Startup/data_init.c:10:21: note: object '_sdata' of size 1
10 | extern char _sdata asm("_sdata");
| ^~~~~~
../Application/Startup/data_init.c: In function 'LoopFillZerobss':
../Application/Startup/data_init.c:30:20: warning: array subscript 'uint32_t {aka volatile long unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds=]
30 | dst[i] = 0;
| ~~~^~~
../Application/Startup/data_init.c:23:21: note: object '_sbss' of size 1
23 | extern char _sbss asm("_sbss");
| ^~~~~
arm-none-eabi-gcc -o "SECoreBin.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\GitClones\Actilitity_FUOTA\nucleo-stm32wl55jc-fuotav1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_SECoreBin\STM32CubeIDE\SECoreBin.ld" --specs=nosys.specs -Wl,-Map="SECoreBin.map" -Wl,--gc-sections -static -L ../../../Linker_Common/STM32CubeIDE --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: SECoreBin.elf has a LOAD segment with RWX permissions
Finished building target: SECoreBin.elf
arm-none-eabi-size SECoreBin.elf
arm-none-eabi-objdump -h -S SECoreBin.elf > "SECoreBin.list"
arm-none-eabi-objcopy -O binary SECoreBin.elf "SECoreBin.bin"
text data bss dec hex filename
26856 32 9856 36744 8f88 SECoreBin.elf
Finished building: default.size.stdout
Finished building: SECoreBin.bin
Finished building: SECoreBin.list
09:52:46 Build Finished. 0 errors, 6 warnings. (took 2m:7s.453ms)