20736S recovery issue

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

cross mob
thj_2192231
Level 2
Level 2
First like received First like given

We have a custom design based on the BCM20736S. The boards work fine but after programming 2 of them with the same firmware, they are bricked and cannot be programmed again, even when following the recovery procedure.

I looked at the various discussions on this topic and couldn't find any solution. I followed those steps (from another thread):

0. Remove UART connection to PC.

1. Short SDA to GND

2. Power up the chip and wait for a couple of seconds or so.

3. Remove SDA to GND short.

4. Connect HCI UART for programming.

5. Try downloading with -NODLMINIDRIVER.

I get :

2015-01-26@11:27:07.773  Will be downloading 0 bytes of code and 8090 bytes of data using minidriver uart_DISABLE_EEPROM_WP_PIN1.hex

2015-01-26@11:27:07.773  BTP file: 20736_EEPROM.btp

2015-01-26@11:27:07.773  The config data is coming from the following files

2015-01-26@11:27:07.773  xxx_test_1_0.hex

2015-01-26@11:27:07.773 Sending bytes to HW:

4 bytes:  01 03 0C 00

2015-01-26@11:27:07.873 ERROR: Failed to execute HCI Reset

Some comments:

- I'm using an FTDI TTL-232R-3V3 serial to USB cable

- Shorting SDA to GND or Vdd doesn't make any difference

- Using the following command:


Chipload.exe -BLUETOOLMODE -PORT COM3 -BAUDRATE 115200 -MINIDRIVER uart_DISABLE_EEPROM_WP_PIN1.hex -BTP 20736_EEPROM.btp -CONFIG xxx_test_1_0.hex -LOGTO program.log -CHECKCRC -NOVERIFY -DLMINIDRIVERCHUNKSIZE 251 -NODLMINIDRIVER


Or trying to recover from the IDE using:


app_name-BCM920736TAG_Q32 UART=COM3 VERBOSE=1 recover


as the target name doesn't make any difference either.


Any help would be appreciated.

0 Likes
1 Solution
BoonT_56
Employee
Employee
500 likes received 250 likes received 100 likes received

Can you try the below?

0. Connect HCI UART connection to PC.

1. Short SDA to GND

2. Power up the chip and wait for a couple of seconds or so.

3. Remove SDA to GND short.

4. Try downloading with -NODLMINIDRIVER.

View solution in original post

3 Replies
BoonT_56
Employee
Employee
500 likes received 250 likes received 100 likes received

Can you try the below?

0. Connect HCI UART connection to PC.

1. Short SDA to GND

2. Power up the chip and wait for a couple of seconds or so.

3. Remove SDA to GND short.

4. Try downloading with -NODLMINIDRIVER.

It works thanks ! Why does the connection of the UART cable before powering up the chip fix the issue on my hardware ?

Anonymous
Not applicable

Interesting.  Glad to hear you have solved the problem.  As to why.. I also wonder why, having had some experience with recovery recently.

The SDA must be grounded BEFORE booting the chip in order to be in recovery mode.  In my configuration, connecting the USB to the PC is "equivalent" to powering the chip because during programming our board gets its power from the USB.

I suppose in your system you might have a separate power supply driving your BCM chip and the USB is used only for UART and not for chip power.

If that's the case then it makes sense that you have two separate independent steps for "Plug in USB" and "Power on Chip".  The key thing to keep in mind is that the SDA must be grounded during the chip power up... which may be independent of the USB status.