How much NVRAM on the CYW20719?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

In wiced_hal_nvram.h, it says applications have access to NVRAM blocks 0x200-0x3FFF. That is ~15k blocks, each with 255 bytes. That works out to being ~3MB, which I believe is far more data than we have access to on the chip. So how much NVRAM can I use at any given moment?

Nicholas

0 Likes
1 Solution
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi Nicholas,

You can use 4KB NVRAM size. More details about this can be found in <WICED-SDK>/20719-B1_Bluetooth/platforms/20719_OCF.btp.

View solution in original post

5 Replies
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi Nicholas,

You can use 4KB NVRAM size. More details about this can be found in <WICED-SDK>/20719-B1_Bluetooth/platforms/20719_OCF.btp.

Anonymous
Not applicable

Thank you shjl, 4KiB is consistent with my experiments.

But is there any way for me to access more persistent storage? AON is 16KiB, am I able to tap into that?

Thank you

Nicholas

0 Likes
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi nichca05_3523616

Yes, you can access the AON using following attribute and variable initialization:

#define PLACE_IN_AON_MEM  __attribute__  ((section(".always_on_ram_var")))

PLACE_IN_AON_MEM  TYPE_NAME  variable_name;

or

PLACE_DATA_IN_RETENTION_RAM TYPE_NAME variable_name;

You can check for different AON related parameters in /20719-B1_Bluetooth/WICED/internal/20719B1/auto_flags.h file.

Anonymous
Not applicable

Using either PLACE_IN_AON_MEM or PLACE_DATA_IN_RETENTION_RAM result in either an uninitialized value or it simply doesn't save the value after resetting.

Nicholas

0 Likes

Hi nichca05_3523616​/ shjl​,

AON and NVRAM are not same, they are different blocks and serves different purposes.

AON can be used if SDS low power is enabled and application needs some context to be retained across sleep(SDS)/wake cycles.

Apart from low power retention, it can be used as additional SRAM if needed.

NVRAM meant for persistent storage across power cycles and AON cant be used for this purpose.