Hi,
I'm working with the nRF54L15 SoC and running into an issue when using UARTE21 together with SMP over Bluetooth. Here's what I’ve observed:
-
UARTE21 works perfectly when Bluetooth is disabled.
-
After starting BLE advertising using
start_smp_bluetooth_adverts()
, the UART output becomes corrupted and then freezes completely. -
However, when running the same firmware with a debugger attached (using J-Link with VSCode), both UART and Bluetooth work fine simultaneously.
This is how I'm starting the Bluetooth SMP advertising:
start_smp_bluetooth_adverts();
#endif
And here is a sample of the console output without the debugger (it freezes after this output):
@▒▒ ▒▒▒C:3[m▒Y9▒▒▒▒▒▒[▒p▒▒-
1▒▒▒▒)R▒▒&
Some relevant parts of my prj.conf
:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=n
Additionally, based on advice from other tickets ( UARTE21 and SPIM20 on P2 issues ) , I’ve added the following code line in my application:
NRF_POWER->TASKS_CONSTLAT = 1;
Some conclusions:
-
This issue does not occur when using UART00—it appears to be specific to UARTE21. However, I need to use UARTE21 because the application requires SPI00.
-
A clear behavioral difference exists when running the application with vs. without a debugger.
Thanks.