UARTE21 and SMP Bluetooth conflict on nRF54L15 – works only with debugger attached

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:

#ifdef CONFIG_MCUMGR_TRANSPORT_BT
start_smp_bluetooth_adverts();
#endif

And here is a sample of the console output without the debugger (it freezes after this output):

uart:~$ ▒+)%%%HU▒Z▒▒
@▒▒ ▒▒▒C:3[m▒Y9▒▒▒▒▒▒[▒p▒▒-
1▒▒▒▒)R▒▒&

Some relevant parts of my prj.conf:

CONFIG_CLOCK_CONTROL_NRF=y
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:

// Force constant latency mode
NRF_POWER->TASKS_CONSTLAT = 1;

Some conclusions:

  • This issue does not occur when using UART00it 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.

We’re approaching pre-production, so resolving this issue is a top priority. Any insights, workarounds, or guidance on how to get UARTE21 working alongside Bluetooth SMP would be extremely helpful.

Thanks.
Parents Reply Children
No Data
Related