sorry and i will describe more clearly this time.
There are two ways to force the 20736 into downloading/programming mode:
#1: Pulling up HCI UART RX to high during reset or power on;
#2: As described in recovery procedure, pulling up/down the SDA during reset or power on.
It seems that #2 is always workable even the EEPROM is corrupted.
1, Which line status will be firstly checked by ROM code during boot process, SDA or HCI UART RX?
2, The corrupted EEPROM or wrong image sometimes will result in programming failure using method #1.
Is there any code/configuration in the EEPROM which will be used during the programming process?
thanks a lot.
I see the confusion. I have often wondered what the order of priority is for these two items as well.
Let me see if I can have one of the developers respond.
Can you cut a snippet from the bottom of the download log and paste it here? The download log is in the build folder in the SDK. I think it is named download.log.
Also what is your setup for downloading. Are you using a TAG board or a custom circuit? If a custom circuit, what kind of cable?
Configuration information in EEPROM/SF is always checked first (before looking at HCI RX). So if you have a bad image in the EEPROM, the ROM will attempt to load and process the image. If the bad image causes the chip to crash, you will not be able to download because it probably never gets to the place where it checks HCI RX.
A bad/corrupt image in EEPROM/SF will always need recovery procedure to download.
Does it mean that the checking the HCI RX will be handled by some code in the EEPROM/SF instead of ROM code?
No, it does not.