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?

  • I believe that you might be trying to configure fds to use more flash than what you have available on your device. If you configure it to have 3 pages of 4Kb each, that's a total of 12Kb. Do you have 12Kb of spare flash after flashing your application?

Reply Children
No Data
Related