NVRAM ID's in use above 0x6f

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

cross mob
MaMe_1509466
Level 4
Level 4
25 replies posted 10 replies posted 5 replies posted

Documentation like “How to Write WICED Smart Applications” indicate

that the NVRAM ID range for Applications to use is from 0x10 to 0x6f.

Yet VS_BLE_HOST_LIST used in examples like cycling_speed_cadence

have a value of 0x70.


Is this invalid application use of NVRAM or is something

else happening when NVRAM is used in this range?

0 Likes
1 Solution

Re: BCM20732S NVRAM Size

You can use NVRAM IDs between 0x00 and 0x6F and each item is limited to 255 bytes.

This post also discusses:

DLConfigVSLength - length of this volatile section.

ConfigDSLocation - location of the application code and data (also known as DS)

And how to manually manipulate these regions provided they do not overlap.

arvinds victorz

View solution in original post

0 Likes
3 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Regarding EEPROM limitations, both of these threads contain alot of useful information:


Note that the team has used larger 128KByte EEPROMs with the the BCM2073x, but only the lower 64KBytes will be used/accessed by the firmware.

On the other hand, the EEPROM driver API provides low level access to write to any EEPROM location, so the application can still use the upper 64KBytes by specifying a different I2C slave address than the one used for the lower 64KBytes, which is usually 0xA0/0xA1.

However, you cannot use this space to store app/patch code/configuration – only the apps own data using the raw EEPROM read/write API (note that none of the bleprofile_*NVRAM API will work with the upper 64K).

Note that the 16b/64k limitation is an EEPROM architecture issue more than a firmware related one. EEEPROMs always use 16 bit addresses, which limits their size to 64KBytes. The way EEPROM vendors work around this is to use a different slave address for the higher 64KBytes (so the same 16 bit address space is mapped to a physically different slave).

0 Likes

Unfortunately, the answer to my question cannot be found in

the references provided.

0 Likes

Re: BCM20732S NVRAM Size

You can use NVRAM IDs between 0x00 and 0x6F and each item is limited to 255 bytes.

This post also discusses:

DLConfigVSLength - length of this volatile section.

ConfigDSLocation - location of the application code and data (also known as DS)

And how to manually manipulate these regions provided they do not overlap.

arvinds victorz

0 Likes