This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52810 | FDS | FDS_ERR_UNALIGNED_ADDR

Hello guys!

Are there any difference in using FDS library with a nRF52832 or with nRF52810? I will explain.

I'm using a FDS for writing/reading to flash for 2 months right now without any problems on a nRF52832. But when I use (port) this exact code on a nRF52810 (native, non emulated!) I receive already on a first fds_record_write a FDS_ERR_UNALIGNED_ADDR error.

A problematic part:

fds_record_t       		m_record;
fds_record_desc_t  	m_record_desc;

...

static uint32_t file_create(void)
{
    ret_code_t err_code;
	
	static char const    m_default_name[]  = "DevName";

    m_record.file_id           = DEVICE_NAME_ID;
    m_record.key               = DEVICE_NAME_RECORD_KEY;
    m_record.data.p_data       = &m_default_name;
    m_record.data.length_words = BYTES_TO_WORDS(m_default_name);  // Align data length to 4 bytes.

	m_fds_write_success = false;
	
    err_code = fds_record_write(&m_record_desc, &m_record);
	
	NRF_LOG_INFO("fds_record_write err: %x", err_code);
	APP_ERROR_CHECK(err_code);
	
	while(m_fds_write_success != true)
	{
			app_sched_execute();
	}
	
	...
	
}

I know that this library it's still experimental and that a nRF52810 is new, but anyway... any idea where to dig?

On a 10 I'm using a SDK 14.2 and S112 (5.1.0) while on a 32 I'm using a SDK 14.2 and S132 (5.0.0).

Related