cancel
Showing results for 
Search instead for 
Did you mean: 

Can't build STM32WL FUOTA example with STM32CubeIDE

HKhan.4
Associate II

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.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
KDJEM.1
ST Employee

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.

View solution in original post

4 REPLIES 4
HKhan.4
Associate II

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
ST Employee

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
Associate II

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
ST Employee

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.