9 Replies Latest reply on Apr 18, 2019 4:45 AM by MichaelF_56

    CYW20706 [24Mhz] + gd25wd40c


      Hello, I have custom module with CYW20706 and gd25wd40c serial flash. I can't run my application after download to serial flash. I'm writing to flash with ChipLoad. Parametrs of ChipLoad.exe -BLUETOOLMODE -REBAUDRATE 115200 -LAUNCHADDRESS 0x00000000 -PORT COM8 -BAUDRATE AUTO -MINIDRIVER platforms/CYW920706WCDEVAL/uart.hex -BTP platforms/CYW920706WCDEVAL/CYW920706WCDEVAL_24Mhz_SFLASH.btp -NODLMINIDRIVER -CONFIG build/BT-CYW920706WCDEVAL-rom-ram-Wiced-release/BT-CYW920706WCDEVAL-rom-ram-Wiced-release.hex. Writing to flash works fine only in recovery mode(MOSI to GND and RESET 1s). I think maybe my problem due to use 24Mhz? XTAL_STRAPs selected correctly (STRAP0 to VDDIO, STRAP1 to GND) and i see on oscilloscope that 24 Mhz. I have CYW920706WCDEVAL and on it my programm work fine. Anyone have any ideas?

        • 1. Re: CYW20706 [24Mhz] + gd25wd40c

          You can take a clue from your eval board if the download process is ok on it.


          On your eval board, include VERBOSE=1 in the target and perform a download. Verbose will enable us to view the full log.

          You can compare the full chipload command versus that of yours. You can check out the download.log file to confirm your

          process is ok.


          1) increase your baudrate to 3000000

          2) use CYW920706WCDEVAL_SFLASH.btp instead

          3) remove -NODLMINIDRIVER


          I assume your cgs conversion is correct. I'm assuming you are employing a chip-on-board design and I assumed your

          schematic has not been verified. Crystal is unlikely the culprit.

          • 2. Re: CYW20706 [24Mhz] + gd25wd40c

            1) My converter USB to uart not supported 3Mbs baud rate

            2) I have tried use CYW920706WCDEVAL_SFLASH.btp instead CYW920706WCDEVAL_24Mhz_SFLASH.btp - No results.

            3) Without -NOMINIDRIVER in recovery mode program gives an error failed to execute DownloadMinidriver comand. If i in normal mode failed to  determine baudrate. If i programming with -NOMINIDRIVER download successfully.

            I have included VERBOSE=1 in the target and copy parametrs. On oscilloscope i can see data on MISO pin after turn on my module, i think that means CYW20706 read data in my flash after start, but i don't know why application not started.

            • 3. Re: CYW20706 [24Mhz] + gd25wd40c

              Ok, -nodlminidriver should be used only in recovery and not in regular programming mode.


              And you should continue to use CYW920706WCDEVAL_24Mhz_SFLASH.btp because I overlooked that you are using a 24MHz and my eval board is using a 20MHz.


              From the pics, did you set your board into HCI mode?


              The reason why recovery works is because it brings the IC into HCI mode.


              The below works for me but I have to set the IC into HCI mode (unfortunately via using the recovery method)


              ChipLoad.exe -BLUETOOLMODE -REBAUDRATE 115200 -LAUNCHADDRESS 0x00000000 -PORT COM5 -BAUDRATE 115200 -BTP CYW920706WCDEVAL_SFLASH.btp  -CONFIG hello_sensor-CYW920706WCDEVAL-rom-ram-Wiced-release.hex

              • 4. Re: CYW20706 [24Mhz] + gd25wd40c

                Oh, i check that my module with CYW20706UA1, but on my eval board CYW20706UA2. Can there be a mistake? And how use and programming CYW20706UA1?

                • 5. Re: CYW20706 [24Mhz] + gd25wd40c

                  The A1 and A2 only mean that they are of different silicon revision. There will be some difference in the ROM code to improve some operational features but it will not affect things code downloads. You are using a 4Mbit sflash and I don't think it is the issue.


                  When you power up your customized module, it will enter application mode when 20706 detects a valid image in the sFlash. However if you want to download an image into the module, it must be booted in download mode (or HCI mode). On the record, when I plugged my eval board into my PC, and try to perform a download using chipload, it did not succeed. I have to set the board into HCI mode (using the recovery method) before I can proceed.

                  • 6. Re: CYW20706 [24Mhz] + gd25wd40c

                    I looked through forum and found Can I use the embedded application developed for CYW92070xV3_EVAL evaluation board to work with CYW20706UA1KFFB1G? .

                    In this post it is written that you can not flash A1 firmware from A2, but on what platform to make the firmware for a1 is not said. I have to set the board into HCI mode and my module was flashed, but after reset it can't started with recorded firmware.

                    • 7. Re: CYW20706 [24Mhz] + gd25wd40c

                      I have only been trying to address the question why the IC has to be set in HCI mode before you can download FW into the sFlash. This is shown in 1.jpg and 2.jpg.


                      Then the other question is whether an application compiled for A2 works on A1. This is the query in the above thread. The reply is of course not, as the new (or enhanced) features on A2 cannot be deployed in A1. There are physical code changes in the ROM between the two revisions.

                      • 8. Re: CYW20706 [24Mhz] + gd25wd40c

                        Then how do I program the A1 chip because only A2 is in Wiced studio

                        • 9. Re: CYW20706 [24Mhz] + gd25wd40c

                          Per the PM that was sent to me, A2 is the current version of the chip that is supported.  If you have an A1 design, I believe there is another older SDK that should have been provided to you when the local team agreed to engage with you as an early adapter.  You will need to reach out to that group for A1 support, or, migrate to the A2.