- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
after having an almost finished firmware for our custom board with the BCM20737S, we have one last technical question: Where should we store device specific information like serial numbers and hardware model information that should survive an OTA upgrade?
Is VS1 in the NVRAM a good place for this?
If so, how can we access it properly? Which vsID should we take, which are occupied for other things?
Is there a recommended way to store data in VS1 during flashing? (beside just inserting into the Intel HEX with own tools, which is not a big deal)
We plan to produce two almost similar devices with some physical parts missing on a specific model. We cannot detect the differences of the device. The firmware is almost identical for both devices and has the same services and characteristics.
It is our favored solution to have the same firmware on all devices, with the model information in NVRAM.
Alternatively, we could deploy multiple different firmwares with the changes compiled in (e.g. with defines in the makefile).
What would you prefer in my situation?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
Just a little correction: you should use 0x10 to 0x6f for writeNVRam function.
The stack uses 0x00 to 0x10 for information for like bonding and stuff.
This is from the SDK doc:
James
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you use a custom UUID or the BD_ADDR as a unique ID?
Some discussion on both here: Re: Unique Chip Identifier / Programming devices with unique UUIDs
Here's a user that is reading/writing a unique ID over SPIFFY1: How can I read an Unique ID number using SPIFFY1 ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, a UUID or BD_ADDR is one thing we could use for the different boards we have.
But we also would like to store, which firmware version an external chip has.
We communicate via I2C with that chip and we may need to update it in the future.
Is VS1 a good place for such information?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This has come up before, but I cannot find the thread. I asked jamesle1 to look into it with the apps team and respond with where exactly in NVRAM customers are allowed to store unique values using writeNVRam.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the thread I was looking for earlier: Re: BCM20732S NVRAM Size
Much more detail on the memory map (builds on this thread: WICED Smart BCM92073X EEPROM and SFLASH Layout)
I asked around and 0x00 - 0x6f is where users can store their own data.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
Just a little correction: you should use 0x10 to 0x6f for writeNVRam function.
The stack uses 0x00 to 0x10 for information for like bonding and stuff.
This is from the SDK doc:
James