2026-05-22 3:43 AM
MCU : STM32WLE5CCU6
Firmware Package Name and Version : STM32Cube FW_WL V1.4.0
Application : FUOTA using LoRaWAN
Setup : End Node(STM32WL) <===> Gateway(Dragino LPS8) <====> TTN
Hello,
I am trying to get my LoRaWAN FUOTA example running for few days with unsuccessful attempts.
At first i was successfully able to build LoRaWAN FUOTA application provided by ST under STM32Cube_FW_WL_V1.4.0. This firmware is made for NUCLEO-WL55JC(STM32WL55JC, Dual core with 256KB flash)
But as i have STM32WLE5CCU6(Single core 256KB flash). With that also i tried to change the startup and linkers and updating .cproject with correct part number and was able to build it but while flashing gets an error.
\STM32Cube\Repository\STM32Cube_FW_WL_V1.4.0\Projects\NUCLEO-WL55JC\Applications\LoRaWAN_FUOTA\Scripts\STM32CubeIDE> .\program.bat
###########################################
# 0- Set all global variables
###########################################
###########################################
# 1- Disable security
###########################################
###########################################
# 1- Disable security
###########################################
RDP: Read Out protection Level 1
RDP+ESE: Read Out protection Level 0 + Security disabled
WRP: Write Protection disabled
------ User Configuration ------
nRST: No reset generated when entering the Stop/Standby/Shutdown modes
WDG_SW: Software window/independent watchdogs
IWDG: Independent watchdog counter frozen in Stop/Standby modes
BOOT: CPU1+CPU2 CM0+ Boot lock disabled
------ Security Configuration ------
HDPAD: User Flash hide protection area access disabled
SPISD: SPI3 security disabled
SBRSA: Reset default value of SRAM Start address secure
Error: Option Byte SNBRSA not modified as expected: read=0x0 expected=0x1F
Also i was able to import the project to STM32CubeIDE 1.11.0 and build successfully, in-fact i was able to flash BFU, SECore and application firmware.
Getting this log when i flash BFU
###########################################
# 0- Set all global variables
###########################################
###########################################
# 1- Disable security
###########################################
###########################################
# 1- Disable security
###########################################
RDP: Read Out protection Level 1
RDP+ESE: Read Out protection Level 0 + Security disabled
WRP: Write Protection disabled
------ User Configuration ------
nRST: No reset generated when entering the Stop/Standby/Shutdown modes
WDG_SW: Software window/independent watchdogs
IWDG: Independent watchdog counter frozen in Stop/Standby modes
BOOT: CPU1+CPU2 CM0+ Boot lock disabled
------ Security Configuration ------
HDPAD: User Flash hide protection area access disabled
SPISD: SPI3 security disabled
SBRSA: Reset default value of SRAM Start address secure
Error: Option Byte SNBRSA not modified as expected: read=0x0 expected=0x1F
Also after Application flash, i get this logs
MW_LORAWAN_VERSION: V2.6.2
MW_RADIO_VERSION: V1.3.1
L2_SPEC_VERSION: V1.0.4
RP_SPEC_VERSION: V2-1.0.3
###### AppKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### NwkKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### AppSKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### NwkSKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### DevEUI: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### AppEUI: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### DevAddr: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### KMS ENABLED
4s174:TX on freq 868300000 Hz at DR 0
9s088:MAC txTimeOut
###### = JOIN FAILED
After power cycle i am just stuck at BFU.
Also i am not sure i read somewhere for single core i don't need KMS. I am not sure about this.
So my question is., Is there any simple way to build a project ready for FUOTA?
I have three working projects i build with SDK 1.3.1, 1.4.0 and 1.5.0. I switched from 1.5.0 to 1.4.0 because 1.5.0 doesn't have any FUOTA related examples.
Also i was thinking, the ST's example is basically how ST processes the FUOTA fragments, add security etc, then why can't i use my own application do that. I have working example with uplink, unconfirmed and confirmed downlinks work. If i request version at port 202 that works, i could easily make my own application doing that.
But i need a right guidance, should i spend my time porting the st's example to my chip or should i just start my own design for FUOTA. Let me know?
Also if i am doing anything wrong and its really simple then point me to right direction.
Best regards,
Devjeet Mandal.
P.S The labels are arbitrary because i could not find label STM32WL