Programming BCM20736S Module Via SDK and TAG

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

cross mob
Anonymous
Not applicable

I have a custom board containing a BCM20736S module and trying to program it via my BCM20737 TAG board according to the documentation on this site.  Two problems:

1. I am using a Tag-Connect.com six pin "bed of nails" to connect the custom board.  Unfortunately it does not mate with the six pin pico header on the TAG board (JP1).  It is problematic for me to build a proper cable with this small of a header and I fear signals are getting corrupted (data and clock on the uart_rx and uart_tx lines) when I run the cable through a breadboard.

Does anybody know where I can get a prebuilt cable for the JP1 pico-header on the TAG board? I found some parts at Molex but it is a pain to deal with this mundane cabling issue. Is it possible to use the J10 header instead?  How about putting a more common connector on the TAG for the JP1 programming port?

2. I managed to cobble together some wires with pico-crimp and heat shrink insulation to connect to the JP1 programming header (UART_TX, GND, UART_RX, +VDDIO)  .. I also have a reset button to pull reset low on my device, as well as a pull up on the RXD line  (The factory programming example document is for the BCM20732S and I don't know if this pullup applies to the 736S as well...??).

Anyway, when I fire this up and try to download a program  The SDK says it doesn't see a device.  Two Red LEDs on the TAG board blink once very briefly and that's the end.  I don't see any data going out on TX or RX...

I've tried RX pull UP and pull Down and swapping RX and TX and still nothing.  Any suggestions?  Are there other programming devices that would be easier than doing this with the TAG board?

0 Likes
1 Solution
Anonymous
Not applicable

Hello ehoffman,

Sorry that you are having problems.

Unfortunately this is the hack that we used for the Module Programming.

The Cables are from Molex:

JP1 (male pins) on the tag module uses the Molex PN:0533980671

It is paired with Molex PN: 510210600

Hope this helps.

JT

View solution in original post

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

Have you got a chance to review the this blog?

Programming the 20732S MODULE USING 2073xTAG Board

0 Likes
Anonymous
Not applicable

Yes thanks.  That one is very helpful and is what I am working from.

Anonymous
Not applicable

Hello ehoffman,

Sorry that you are having problems.

Unfortunately this is the hack that we used for the Module Programming.

The Cables are from Molex:

JP1 (male pins) on the tag module uses the Molex PN:0533980671

It is paired with Molex PN: 510210600

Hope this helps.

JT

MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

This thread shows how to program your custom SIP module based solution through a UART header using an FTDI USB to Serial cable. It may be what you are looking for?

Information: Programming your BCM20732S-based board from an onboard UART header

0 Likes
Anonymous
Not applicable

I am now using the FTDI 3.3V USB to UART cable and having better luck, but now stuck with 'Recover Failed".  Also download fails with the same errors.  Seems to be receiving the program but unable to write it to memory.  Need help.  This a major roadblock to progress and my time is running out on this project.

2014-12-07@03:00:39.647 ERROR: Download minidriver error trying to write 251 bytes to address 0x002010FB

Below is the output from the log file.  Note the last line ... error writing to memory.   Please help. anybody...

2014-12-07@03:00:37.619 Will be downloading 0 bytes of code and 7001 bytes of data using minidriver Platforms/BCM920736TAG_Q32/uart_DISABLE_EEPROM_WP_PIN1.hex

2014-12-07@03:00:37.619 BTP file: Platforms/BCM920736TAG_Q32/20736_EEPROM.btp

2014-12-07@03:00:37.619 The config data is coming from the following files

2014-12-07@03:00:37.619 build/heart_rate_monitor-BCM920736TAG_Q32-rom-ram-Wiced-release/heart_rate_monitor-BCM920736TAG_Q32-rom-ram-Wiced-release.hex

2014-12-07@03:00:37.619 Sending bytes to HW:

4 bytes: 01 03 0C 00

2014-12-07@03:00:37.650 Received bytes from HW:

7 bytes: 04 0E 04 01 03 0C 00

2014-12-07@03:00:37.650 Sending bytes to HW:

259 bytes: 01 4C FC FF 00 10 20 00 10 B5 81 B0 73 48 00 F0 E3 F8 00 23 72 49 0B 60 72 49 0B 60 00 F0 EF FB ...

2014-12-07@03:00:37.697 Received bytes from HW:

7 bytes: 04 0E 04 01 4C FC 00

2014-12-07@03:00:37.697 Download minidriver successfully had written 251 bytes to address 0x00201000

2014-12-07@03:00:37.697 Sending bytes to HW:

259 bytes: 01 4C FC FF FB 10 20 00 E7 36 48 03 68 00 2B 07 D1 3A 48 03 88 00 2B 03 D0 3A 48 03 68 31 48 03 ...

2014-12-07@03:00:39.647 ERROR: Download minidriver error trying to write 251 bytes to address 0x002010FB

0 Likes

jose.raffucci nsankar 79rpm ed-falsetti j.t ahunter

I seem to recall a similar problem here: Re: Unable to (re) program BCM20736

I believe what was being said here was that this is a device where the firmware DOES need to receive a DOWNLOAD_MINIDRIVER command at the beginning of the download, but the CHIPLOAD is being called with  -NODLMINIDRIVER option telling it not to issue this command. In other words, this option needs to be removed from the CHIPLOAD invocation.

Are you using the SDK for programming, or chipload through the command line as you were originally doing when you started with the TAG board?

If through the command line, the thread noted above contains instructions.

If through the SDK, I believe the parameter needs to be entered as an option within the make file.

0 Likes
Anonymous
Not applicable

Thanks for the reply.  I'm using the SDK, not the command line loader.  From the download.log file in the build directory it looks like the minidriver is working fine.  It fails on memory write with a CRC error.

0 Likes