Download failure and recovery on 20736/7

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

cross mob
MiTo_1583836
Level 5
Level 5
50 likes received 25 likes received 10 likes received

I spent some time around the corruption of the EEPROM that may happen during download. I set my test as follow to recreate/emulate a failure during download:

1) Plug the tag board (BCMBCM92073X_LE_KIT) to USB with all the SW4 switches to ON.

2) In Eclipse, "Make Target" and build the Hello Sensor application followed by a download.

3) About 2-3 seconds after the beginning of the download when the led on the tag board is blinking green very fast: unplug the USB cable.

4) Plug back the tag board to the USB and try to download again the same application (no success).

5) Repeat over and over (5 times) the download of the application (no success).

6) Recover the tag following the recovery sequence explained in the QS guide (success).


Comments:

a) When the download starts during 2) I see in the Eclipse console window:

Downloading application...


b) Few seconds after the USB unplug during 3) I see in the console window:

'****Download failed - Press the reset button on the device and retry ****'


After that and during 4) and 5) I do fail consistently the download of any new application. The conclusion is that the EEPROM is loaded with a corrupted ROM.


Question:


I learned about the mini driver loaded in RAM with the two steps process during the download of an application (load in RAM first followed with a write in EEPROM). It sounds to me that no integrity check (CRC?) is performed by the mini driver in RAM (I came to that conclusion by doing the test sequence above). I would expect some kind of check happening before the write of the new application in EEPROM. Is it possible to comment on this?


0 Likes
1 Solution
asridharan
Employee
Employee
10 comments on KBA 5 comments on KBA First comment on KBA

This is expected. There should be no* expectation that the FW will be programmed correctly if you power off the device in the middle of programming and this is not expected in a production/development scenario. The minidriver only assists in downloading the application to the EEPROM/SF and this is done in chunks (at most 64 bytes for EEPROM and whatever is the page size for a serial flash). Verification step is the last step after all the download is complete. The image is marked as loadable/valid after the final verification step is complete. If you pull the power in the middle of this process you should expect undefined behavior.

*EDIT

View solution in original post

2 Replies
asridharan
Employee
Employee
10 comments on KBA 5 comments on KBA First comment on KBA

This is expected. There should be no* expectation that the FW will be programmed correctly if you power off the device in the middle of programming and this is not expected in a production/development scenario. The minidriver only assists in downloading the application to the EEPROM/SF and this is done in chunks (at most 64 bytes for EEPROM and whatever is the page size for a serial flash). Verification step is the last step after all the download is complete. The image is marked as loadable/valid after the final verification step is complete. If you pull the power in the middle of this process you should expect undefined behavior.

*EDIT

BoonT_56
Employee
Employee
500 likes received 250 likes received 100 likes received

Please initiate the recovery process detailed in Appendix D of the TAG3 user guide. You may use the board with a CR2025 coin cell if you want to deploy the tag without USB power. Of course, do this only after a successful download of FW onto the eeprom.