2 Replies Latest reply on Aug 19, 2018 11:52 PM by damic_3251441

    can't program BCM20737s via HCI UART



      I'm working on a project with a costom board that integrate BCM20737s module.

      In this project I have to be able to program BTLE module through main CPU of the board via HCI UART (BTLE code and mimi driver .hex file are stored inside board internal memory).

      I've downloaded and read WICED HCI UART Control Protocol.pdf documentation to learn the correct sequence of command that have to be send and their structure. Following that document I wrote C code that is running on my CPU and that is trying yo program BCM20737s.

      My code perform following operations:

           - send reset command

           - send load minidriver command

           - send minidriver.hex

           - send launch ram command

           - send erease chip command

           - send myProgram.hex

           - send launch ram command


      At the moment the procedure is having systematically the same issue during send minidiver.hex phase.

      To be more precise the problem that I'm facing is that I can send succesfully only the first 5 frame of minidriver.hex, than when I send 6th frame BCM20737s module stops replying.


      Than I've decided to bypass my CPU, use WICED to program BCM20737s and with a sniffer capture TX flux to understand better the nature of every frame and the timing between a frame and the other.

      This is a part of the flux:




      After this analyisis I've found out that the frame sent by WICED to the module are exactly the same that my C code send to the module.

      The only difference was the timing, so I've modified my code to rispect the timing between a send operation and the other, but the problem persists (I've verified frame content and timing sent by C code using an oscilloscope).


      Can you please tell me why BTLE stop sending ACK on 6th packet of minidriver.hex ? What can I do?


      Thaks is advance