Uart stubs in NCS v3.4.0

Hi,

I am using the nRF54L15 and recently migrated my project from NCS v3.3.0 to NCS v3.4.0.

My project does not use the UART for TF-M logging, so I have the following configuration:

CONFIG_TFM_LOG_LEVEL_SILENCE=y

This worked correctly in NCS v3.3.0—TF-M logging was disabled and the UART pins were available for my application.

However, after migrating to NCS v3.4.0, I am seeing the following error:

/modules/tee/tf-m/trusted-firmware-m/secure_fw/partitions/lib/runtime/assert.c:21:(.text.__assert_func+0x1e): undefined reference to `stdio_is_initialized'


To work around the issue, I added custom stub implementations:
#include <stdbool.h>
#include "uart_stdout.h"

int stdio_output_string(const char *str, uint32_t len)
{
	return 0;
}

void stdio_init(void)
{
}

void stdio_uninit(void)
{
}

bool stdio_is_initialized(void)
{
	return false;
}

void stdio_is_initialized_reset(void)
{
}

I also updated my CMakeLists.txt to include these stub implementations. This workaround functions correctly, but it requires patching NCS, which I would like to avoid.

Related