Skip to main content
HKhan.4
Associate II
July 31, 2025
Solved

Can't build STM32WL FUOTA example with STM32CubeIDE

  • July 31, 2025
  • 4 replies
  • 605 views

Good day 

I am trying to run the Lorawan FUOTA demo on my nucleo-wl55jc1 and havinf trouble.

 

Once i build files in the recommended order and they build successfully, i am getting this issue:

 

HKhan4_0-1753959447304.png

struggling to find out what i need to change in order for it to work.  I am using cubeIDE version 1.19.0.

 

Please assist as we plan into going into production very soon on our own PCB board.

 

 

Best answer by KDJEM.1

Hello @HKhan.4;

 

To solve the build issue with STM32CubeIDE 1.19.0 version, I recommend you to add this instruction under  1_Image_KMS_Blob/Application/User/kms_blob_example_keys.c file:

 
__attribute__((weak)) void _close(void){} 
__attribute__((weak)) void _lseek(void){} 
__attribute__((weak)) void _read(void){} 
__attribute__((weak)) void _write(void){}

 

or you can copy syscalls.c and sysmem.c files from \STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_SECoreBin\STM32CubeIDE\Application\User and paste under STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_KMS_Blob\STM32CubeIDE\Application\User

 

I hope this help you to solve the build issue.

Thank you.

Kaouthar

4 replies

HKhan.4
HKhan.4Author
Associate II
July 31, 2025

when I use the script, i get this issue:

 

###########################################
# 0- Set all global variables
###########################################
###########################################
# 1- Compile all BFU projects
###########################################
Create.
Opening '1_Image_KMS_Blob'.
Building All Projects...
13:00:52 **** Clean-only build of configuration Debug for project 1_Image_KMS_Blob ****
make -j20 clean
rm -rf ./Application/User/kms_blob_example_keys.cyclo ./Application/User/kms_blob_example_keys.d ./Application/User/kms_blob_example_keys.o ./Application/User/kms_blob_example_keys.su
rm -rf KMS_Blob.bin KMS_Blob.elf KMS_Blob.list KMS_Blob.map default.size.stdout


13:00:52 Build Finished. 0 errors, 0 warnings. (took 445ms)

13:00:52 **** Build of configuration Debug for project 1_Image_KMS_Blob ****
make -j20 all
arm-none-eabi-gcc "C:/Users/42410/STM32Cube/Repository/STM32Cube_FW_WL_V1.3.1/Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA/1_Image_KMS_Blob/Src/kms_blob_example_keys.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32WL55xx -DCORE_CM4 -DDEBUG -c -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_Key_Management_Services/Core -I../../../1_Image_SECoreBin/Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/kms_blob_example_keys.d" -MT"Application/User/kms_blob_example_keys.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Application/User/kms_blob_example_keys.o"
arm-none-eabi-gcc -o "KMS_Blob.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\42410\STM32Cube\Repository\STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_KMS_Blob\STM32CubeIDE\KMS_Blob.ld" --specs=nosys.specs -Wl,-Map="KMS_Blob.map" -Wl,--gc-sections -static --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-closer.o): in function `_close_r':
(.text._close_r+0xc): warning: _close is not implemented and will always fail
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-closer.o): note: the message above does not take linker garbage collection into account
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-lseekr.o): in function `_lseek_r':
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-lseekr.o): note: the message above does not take linker garbage collection into account
(.text._lseek_r+0x10): warning: _lseek is not implemented and will always fail
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x10): warning: _read is not implemented and will always fail
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-readr.o): note: the message above does not take linker garbage collection into account
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x10): warning: _write is not implemented and will always fail
C:/ST/STM32CubeIDE_1.19.0/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: C:/ST/STM32CubeIDE_1.19.0/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/lib/thumb/v7e-m/nofp\libc_nano.a(libc_a-writer.o): note: the message above does not take linker garbage collection into account
Finished building target: KMS_Blob.elf

arm-none-eabi-size KMS_Blob.elf
arm-none-eabi-objdump -h -S KMS_Blob.elf > "KMS_Blob.list"
arm-none-eabi-objcopy -O binary KMS_Blob.elf "KMS_Blob.bin"
text data bss dec hex filename
1200 0 0 1200 4b0 KMS_Blob.elf
Finished building: default.size.stdout

Finished building: KMS_Blob.list
Finished building: KMS_Blob.bin


"../postbuild.sh" ".." "KMS_Blob" "1"
Windows_NT
prepareimage with windows executable
C:/Users/42410/STM32Cube/Repository/STM32Cube_FW_WL_V1.3.1/Middlewares/ST/STM32_Secure_Engine/Utilities/KeysAndImages/win/prepareimage/prepareimage.exe enc -k ../../Binary/OEM_KEY_COMPANY1_key_AES_CBC.bin -i ../../Binary/iv.bin KMS_Blob.bin ../../Binary/KMS_Blob.kmsu
C:/Users/42410/STM32Cube/Repository/STM32Cube_FW_WL_V1.3.1/Middlewares/ST/STM32_Secure_Engine/Utilities/KeysAndImages/win/prepareimage/prepareimage.exe sha256 KMS_Blob.bin ../../Binary/KMS_Blob.sign -p 16
C:/Users/42410/STM32Cube/Repository/STM32Cube_FW_WL_V1.3.1/Middlewares/ST/STM32_Secure_Engine/Utilities/KeysAndImages/win/prepareimage/prepareimage.exe pack -k ../../Binary/ECCKEY.txt -m KMSB -r 28 -v 1 -i ../../Binary/iv.bin -f ../../Binary/KMS_Blob.kmsu -t ../../Binary/KMS_Blob.sign -o 320 ../../Binary/KMS_Blob.kmsb


13:00:57 Build Failed. 4 errors, 4 warnings. (took 4s.840ms)

KDJEM.1
KDJEM.1Best answer
Technical Moderator
August 29, 2025

Hello @HKhan.4;

 

To solve the build issue with STM32CubeIDE 1.19.0 version, I recommend you to add this instruction under  1_Image_KMS_Blob/Application/User/kms_blob_example_keys.c file:

 
__attribute__((weak)) void _close(void){} 
__attribute__((weak)) void _lseek(void){} 
__attribute__((weak)) void _read(void){} 
__attribute__((weak)) void _write(void){}

 

or you can copy syscalls.c and sysmem.c files from \STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_SECoreBin\STM32CubeIDE\Application\User and paste under STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\1_Image_KMS_Blob\STM32CubeIDE\Application\User

 

I hope this help you to solve the build issue.

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
HKhan.4
HKhan.4Author
Associate II
September 4, 2025

Hi

 

Thank you for this. I was able to complete the build but i am still running into issues.  Please refer to the ticket below:
https://community.st.com/t5/stm32-mcus-wireless/lorawan-fuota/td-p/832920

Please let me know when I can possibly have feedback.

KDJEM.1
Technical Moderator
September 5, 2025

Hello @HKhan.4,

 

Thank you for updating post.

Glad to know that the initial issue is solved and you are able to build the project without issue. 

For that, please click on Accept as Solution on the reply which solved your issue.

For the second issue, I will share the second post with wireless team expert.

Thank you. 

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.