Hi, we are facing a very strange problem on one of our product since the deployment of it's last software release:
This product integrate an nrf52832 and unfortunately an old version of the softdevice S132 (v2.0 from sdk 11.0).
The problem seems to occur since we have removed some compilation options regarding logging/UART.
In the previous version the:
- UART0 was enabled in nrf_drv_config.h and is not in the last version
- In the makefile, the files uart/app_uart_fifo.c and uart/nrf_drv_uart.c where included in the C_SOURCE_FILES to be compiled and not in the last version
- In the makefile, the C symbol NRF_LOG_USES_RAW_UART=1 was defined and not in the last version
In production software, the log module is not really used, only the NRF_LOG_INIT function followed by a startup message.
Now what are the symptoms: on some boards (a small percentage) it seems that suddenly, the nrf chip becomes unresponsive (the product is disconnected from nRF connect app and SPI communication with the master MCU is not possible). But the behaviour is not always the same. On some board, it only needs to connect to BLE via nRF connect to freeze the chip, but on some other boards the freeze has more a random behaviour, it can happens from time to time... And for the majority there isn't any problem...
I tried to attach and debug via a j-link probe and vscode cortex-debug plugin after a freeze and it seems that there is an HardFault_handler, but I am not able to detect what caused this fault.
From the call stack I can see the address 0x1ae42 which is located in the softdevice, but I don't have more details:
So, I reckon that it's a difficult question I don't really know if it's an hardware or software problem, but any help would be greatly appreciated to investigate this problem!
Thank you in advance