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

FDS error in FDS_VIRTUAL_PAGE_SIZE 1024 ?? (NRF51)

FDS error in FDS_VIRTUAL_PAGE_SIZE 1024 ?? (NRF51)

github.com/.../nRF52-fds-example

If I use FDS_VIRTUAL_PAGES 3, FDS_VIRTUAL_PAGE_SIZE 1024, then there comes FDS_ERR_BUSY. DO I HAVE TO GIVE DELAY BETWEEN fds_register fds_init??

(I'd like to save about 3KB size Structure. So, PAGE_SIZE(1024)*4byte = 4KB might be needed.)

(This Error doesn't occurs in FDS_VIRTUAL_PAGE_SIZE 512. Why this error happens?) (I've initialized FDS same as upper github example.)

My SDK is v12.2.0

(ps. how can I manually reset fds's record_desc.record_id of fds_record_desc_t?)
it's type is uint32_t, and it's increasing infinitely when I run this.
how can I reset this record_id to 0 ??

Parents
  • Hi,

    1. No, you don't need to wait after fds_register() before calling fds_init(): you can call fds_init() as soon as you have returned from fds_register().

    2. You understand correctly, the page size should be at least 1024 (4096 bytes) to store a 3KB structure.

    3. You cannot change or control the ID of a record in any way. It is assigned by fds automatically. However, you can control the record KEY and file ID.

    Where do you receive the FDS_ERR_BUSY return code? Does it come in an event? Is it returned by a function? If so which one?

  • If you are positive that you have enough space, then you could try to use the fds implementation found in 12.3 or 13, which contains some minor fixes. I don't believe it will solve your problem but it might provide a more detailed error code that could help us to debug this issue. Also, fds will not overwrite any existing data in flash even if you configure it to use more space than what is available.

Reply
  • If you are positive that you have enough space, then you could try to use the fds implementation found in 12.3 or 13, which contains some minor fixes. I don't believe it will solve your problem but it might provide a more detailed error code that could help us to debug this issue. Also, fds will not overwrite any existing data in flash even if you configure it to use more space than what is available.

Children
No Data
Related