2024-12-22 05:50 AM - edited 2024-12-22 05:57 AM
Hello,
I'm working with Actility as server, on a NUCLEO-WL55JC as the End-Device. I have the STM code from the STM32obeWL repository, version 1.3.0. When running a FUOTA campaign from the server the last update sent from the end device in the serial port is this:
I ran the program in a debugger and found out that it gets stuck in an infinite loop in the HardFault_Handler in stm32wlxx_it.c.
Here is the call stack when the program is in the infinite loop:
It seems it is trying to write to the start of the download slot, as defined in mapping_fwimg.ld, which is 0x801600. As I think it should.
And it's src is:
The above call to FragDecoderProcess is from the function LmhpFragmenrationOnMcpsIndication. and the address of the buffer is 0x200078e4. But then in the last call where it hard faults, in the function FLASH_IF_INT_Write, the src address is 0x200078e7:
After the call to FragDecoderProcess, inside FragDecoderProcess the address of the rawData variable which should be the same as the Buffer's, is already 0x200078e7:
why would it change? could this be the reason for the hard fault?
If someone has encountered the issue before I'd be happy to hear.
Thanks,
Oron.