- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.