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

Smart Bluetooth Forum Discussions

Anonymous
Not applicable

Hello,

I am trying to flash our BCM 20736S BLE module.
Using WICED-Smart-SDK 2.2.0, in WICED Smart IDE, I have 2 make targets (for download and recovery):
BLE-BCM920736TAG_Q32 download BT_DEVICE_ADDRESS=random UART=COM91

BLE-RECOVER-BCM920736TAG_Q32 recover UART=COM91


Similarly, we'd also like to use the ChipLoad exe to flash this from command line:

ChipLoad.exe -BLUETOOLMODE -PORT %UART_PORT% -BAUDRATE 115200 -MINIDRIVER .\BCM920736TAG_Q32\uart_DISABLE_EEPROM_WP_PIN1.hex -BTP .\BCM920736TAG_Q32\20736_EEPROM.btp -CONFIG %FILENAME_HEX% -CHECKCRC -NOVERIFY -DLMINIDRIVERCHUNKSIZE 251

We have a custom PCB with 2 FTDI 232 USB-to-UART converters which each connect to one the UARTs on the BCM module.
It also has a reset button for the BCM, and a button pulling SDA to GND for recovery.

We use those sequences to try to flash the module:

- Download: press & release reset, start the make target in IDE
- Recover: press reset & SDA, release reset, wait a while, release SDA, start make target in IDE (with varying timing)


I measured the RX pin at reset of the BCM, it is at "HI" level (3.3V) as supposed.
On a 3rd party forum I saw soneone mention that SDA is also supposed to be held high, not low, for recoevry, without giving a reference. I tried that modifcation, to no avail.

Any of this almost never works in the IDE. Like 1 of 50 times there is no error.
The ChipLoad, on my PC (wint 32bit), never works, I always get "BluetoolDownloadMinidriver failed".
On a different PC (win10) I once got ChipLoad to work for a couple times in a row, but not anymore.

Can you provide any hints as to what may produce this rather sporadic functioning of the flashing process?

0 Likes
1 Solution

You probably want to use a FTDI 3.3V usb-to-serial cable for this. The eeprom could be corrupted in the course

of your trials. You may want to do a recovery as below:

proximity-BCM920737TAG_Q32 recover UART=COMxx

Before downloading, a HCI reset will be executed follow by "Download MiniDriver". This is a requirement and is vendor-specific. The

minidriver will push the application in chunks of 64 bytes into the eeprom. Do a power-on-reset and try again.

View solution in original post

2 Replies
Anonymous
Not applicable

Ok guys, that it almost never worked was due to a bad cable.

Now there's one thing left:
The download sequence using ChipLoad does not always work.
Sometimes I still get the "BluetoolDownloadMinidriver failed" error after hitting the reset button and then starting the command line.
It *could* be timing. Have to test it more thoroughly.

0 Likes

You probably want to use a FTDI 3.3V usb-to-serial cable for this. The eeprom could be corrupted in the course

of your trials. You may want to do a recovery as below:

proximity-BCM920737TAG_Q32 recover UART=COMxx

Before downloading, a HCI reset will be executed follow by "Download MiniDriver". This is a requirement and is vendor-specific. The

minidriver will push the application in chunks of 64 bytes into the eeprom. Do a power-on-reset and try again.