How to restore BCM20736S to the factory default state (internal EEPROM)?

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

cross mob
Anonymous
Not applicable

The need is from this:

We soldered BCM20736S chip on the PCB. The BCM20736S wasn't changed at all after we got it from Broadcom. Then, we downloaded our application code into BCM20736S (as I understand, the code is downloaded into the internal 512k EEPROM) for some testing. Now, we need to do some tests with BCM20736S chip as it condition was as we just got it from Broadcom. We don't have time to get new chips. So we are looking for a way to restore these used BCM20736S to its factory default state in the sense of internal EEPROM.

The chapter "Appendix 😧 Recovering a Corrupt WICED Smart Tag" in <WICED-Smart-QSG202-R> shows the procedure of executing "proximity-BCM920737TAG_Q32 recover UART=COMx". However, BCM20736S loaded the application code 'proximity' after executing such recovery, which is different from its factory default state.

Does anybody know how to restore these used BCM20736S to its factory default state in the sense of internal EEPROM?

0 Likes
1 Solution

We confirmed that there is indeed a small piece of code that was downloaded onto the module mainly for verification work. However we cannot release it as it is proprietary. May I suggest that you consider simple apps like mybeacon.c to recover your module?

In any case, the point is that we can never get to your requirement of "BCM20736S wasn't programmed". The module will not boot up if the eeprom is empty.

View solution in original post

0 Likes
8 Replies
Anonymous
Not applicable

Hi Kevin,

  I am not aware of a means to simply clear all of the internal EEPROM, though I am sure it is possible.  I would add though as long as you can program the device you should be able to load/program whatever application code you need to perform your tests so I am not sure why you need to ensure that the EEPROM is set to its original 'unprogrammed' state.

Let me know if I am missing something...

Regards,

Frank

0 Likes
Anonymous
Not applicable

Thank you for checking this out, embeddedmasters!

It's for testing a verification system in a specific condition in which another MCU may be powered on if BCM20736S was programmed and can't be powered on if BCM20736S wasn't programmed.

0 Likes

It may not be possible to revert to a "empty-eeprom" state per se. You may need to re-think another strategy to verify the conditions you set above. Do you really need a "empty-eeprom" module state? I recalled a module could be loaded with a basic application (something akin to Test_Mode) to test out some of the RF features before shipping out.

0 Likes
Anonymous
Not applicable

Thanks for checking this out, boont.

My feeling is that the BCM20736S's factory default state isn't "empty-eeprom". Instead, there is a "certain application" programmed since the fresh BCM20736 from factory can be programmed into new application code.

The missing information is what this "certain application" is.

0 Likes

So one thing for sure is that the eeprom is programmed with something. Does that not mean that you will never be able to get a condition that "BCM20736S wasn't programmed"?

We will check with the factory on what is inside the eeprom before shipping out.

0 Likes
Anonymous
Not applicable

I think so.

Thank you for checking this with the factory, boont!

0 Likes

We confirmed that there is indeed a small piece of code that was downloaded onto the module mainly for verification work. However we cannot release it as it is proprietary. May I suggest that you consider simple apps like mybeacon.c to recover your module?

In any case, the point is that we can never get to your requirement of "BCM20736S wasn't programmed". The module will not boot up if the eeprom is empty.

0 Likes
Anonymous
Not applicable

Hi boont,

Thank you for confirming this for me.

mybeacon.c is close to our requirement. Thank you.

0 Likes