5 Replies Latest reply on Oct 15, 2014 7:46 AM by dmiya

    About BCM20737S

      I have some question about BCM20737S as follows


      1,How can I programming bcm20747s? and what document can I refer about this?
        .Datasheet doesn't refer about programming to ROM(or EEPEROM? I'm wondering EEPROM can be program memory.)


      2,What link do I refer in order to get all of bcm20737s document?

        .For example, when I use PWM module, I need to know about IO registers related to PWM module.


      I read "wiced smart tag hardware user manual BCM920737TAG-03".

      I have a question in Page 12, what is the difference between "Boot from ROM" and "Application Firmware Software Boot-UP"?

      I think both means Boot from ROM... I think write Firmware Software means write to "ROM" .

        • 1. Re: About BCM20737S


          I think you meant 20737S, not 20747S.


          You program this device using the SDK or the Loader.exe command line program which ships as part of the SDK.  There is also a sample program which allows you to program the part over the peripherhal UART, but this only works after the initial programming is complete using 1 of the 2 aforementioned methods.


          You can read about this here: Production Programming of BCM20737S


          Another option for programming after the initial image is loaded is OTA: Re: Programing in the first time



          There is not much about the PWM functinality within any of our formal documents, but there are quite a few threads here on the forum (WICED Smart Forums), and a sample application within the latest SDK called pwm_tones.



          Core firmware + embedded stack + serial driver+profiles come preloaded in ROM (total 320 KB)


          There is also 60K of RAM, of which roughly 30K can be used for the application (20736/20737 BCM92073X_LE_KIT only, 20732 and it's respective kit has about 17K available)


          EEPROM includes BD ADDR (Bluetooth Device Address), Patches and Bonding/Pairing information.


          In addition, when programming the SDK downloads a minidriver to RAM then pushes the code you are programming over the HCI uart to the minidriver which will then write to EEPROM, so your application gets stored in EEPROM as well.


          Note that your application will be automatically loaded to internal RAM (bootloader not required) on boot up and initialized.

          • 2. Re: About BCM20737S

            Thank you for answering me!

            You tell me use minidriver to write EEPROM .
            What is minidriver ? and when can I download it?

            • 3. Re: About BCM20737S

              The minidriver is built-in to the firmware and is used by the SDK and Loader.exe program.


              We do not provide the source code for the mini-driver.

              • 4. Re: About BCM20737S

                Thank you for your anwer!

                I'm still wondering something.


                What does HCI UART means?(what is the difference in "HCI" UART and UART? )


                ・When I programming to ROM or EEPROM first time, we only use TX and RX?  Is there any difference in circuit when we programming to RAM?


                ・How can I make Lader.exe?


                Thank you.

                • 5. Re: About BCM20737S

                  HCI UART means pin#18 and #19 of BCM20737S.

                  They can be used for programming and debugging(printf output).

                  BCM20737S has peripheral UART also.

                  Peripheral UART can be used by the application.

                  Below information may help your understanding.



                  When we program user application to EEPROM in BCM20737S, both HCI UART Rx and Tx are used.

                  We can't program the  application to RAM.

                  The application needs to be programmed to EEPROM. Then it's loaded to RAM after reboot.


                  We don't need to make loader.exe by ourselves.

                  For Windows environment, ChipLoad.exe is located in <WICED-SMART-SDK>/Tools/ChipLoad/Win32/.

                  1 of 1 people found this helpful