3 Replies Latest reply on Mar 16, 2015 11:37 AM by MichaelF_56 Branched to a new discussion.

    BCM20737S flashing process



      i want to know about the way to flashing the BCM20737S chip for a custom board for the first time.

      Is the BCM20737S delivered with a firmware installed on it ? do we need the USB interface ?

      what's the best process when going to manufacturer and need to flash 1000 board ?

        • 1. Re: BCM20737S flashing process

          Here's some background that will help you along in this process as we do not provide any step by step instructions in this area, but many have accomplished the same using the information here on the community.


          First off, the part MUST be programmed the first time using the HCI UART.  This UART MUST come up and be available within the "programming mode' (lots of threads on this subject). Most customers create some type of header on their board that can accomodate the HCI UART (Rx, Tx, PWR and GND), along with a means of assuring that the part either comes up in programming mode or can accomodate being manually placed into programming mode.


          Once you have the above HW changes made, you will then need to understand that in order to program the device through the HCI UART, a proprietary protocol is used which is lincluding within the "loader" executable that is part of the SDK and the command line tools described here: Programming the TAG2/TAG3 Board using command line tools


          In this thread I go into a great level of detail as to how this 'programming' process takes place at a SW level: Re: Production Programming of  BCM20737S


          Now in order to attach the PC running the SDK/Command Line Tools to your board with the designated header, you will need some form of USB to serial programming cable.  For this, we highly recommend using the FTDI 3.3V cable jcardona describes here: Re: BCM20736S recovery problem - SDA high does not enter recovery mode

          • 2. Re: BCM20737S flashing process

            thanks for your feedback.

            do you mean the initial programming of the chip have to be done manually :

                 - insert the connect header of HCI UART on Board_n

                 - install loader.exe on pc and program the chip

                 - remove header and move to Board_n + 1


            is that the only way for mass production ? we can reach 10k boards ?! this maybe suitable for 10 or 100 boards ?

            is that a any SW script/way to program the chip directly from MCU ?

            • 3. Re: BCM20737S flashing process

              Correct. Unfortunately, we do not allow the direct programming of the EEPROM, nor do we provide the source for the loader/programming protocol, so programming the device from an external uC running the programming protocol is not an option.


              Our packaging house in Asia has setup custom tooling/programming for the device, so I could put you in touch with them for a quote on the 10K units.


              Have your local Broadcom team contact me directly and I will try to close the loop.  One of our larger global Distributors is also working with their programming vendors to develop a production programming process as well, so that may be an option in the near future also.


              In addition to programming the device with your application, you will also need to consider how to change the BD_ADDRs on all of the units you product.  For this, there is some guidance in this thread: Re: How can I use cgs.exe to convert *.cgs to *.hex but keep MACADDR the same?


              ankr_1205151 nasac_2167841