7 Replies Latest reply on Dec 11, 2014 7:08 PM by userc_7511

    Programming BCM20736S Module Via SDK and TAG

      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?

        • 2. Re: Programming BCM20736S Module Via SDK and TAG

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

          1 of 1 people found this helpful
          • 3. Re: Programming BCM20736S Module Via SDK and TAG

            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

            1 of 1 people found this helpful
            • 4. Re: Programming BCM20736S Module Via SDK and TAG
              MichaelF_56

              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

              • 5. Re: Programming BCM20736S Module Via SDK and TAG

                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

                • 6. Re: Programming BCM20736S Module Via SDK and TAG
                  MichaelF_56

                  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.

                  • 7. Re: Programming BCM20736S Module Via SDK and TAG

                    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.