6 Replies Latest reply on Jun 19, 2020 12:12 AM by JayakrishnaT_76

    CYUSB3014-BZXC boot

    BuYa_3858256

      Hi,

       

      Is there an application note on FX3 (CYUSB3014-BZXC) boot process which includes the external fash and the boot through USB?

       

      I need to put multiple images in the external flash and boot from golden or updated image.

       

      In addition to flash, I would like to boot through USB (ideally from iPhone connection, linux or windows USB is also fine)

       

      Thanks and best regards,

       

      California

        • 1. Re: CYUSB3014-BZXC boot
          JayakrishnaT_76

          Hello,

           

          Please let us know if you have gone through the Application Note AN76405 which describes FX3 Boot Options. The link to the same is given below:

          https://www.cypress.com/file/201991/download

          FX3 can boot from various sources. FX3 supports your requirement to boot from flash and boot from USB. If the boot from Flash fails, then it falls back to USB boot. For more information, please refer to the application note mentioned before.

           

          According to my understanding, your second question is: You need to place multiple images in flash and boot the latest image. If this is the requirement, you can use second stage bootloader. Please refer to the following thread to understand how this is to be implemented.

          FX3 Boot / Firmware Update Best Practices

           

          Best Regards,

          Jayakrishna

          • 2. Re: CYUSB3014-BZXC boot
            BuYa_3858256

            Hi,

             

            I couldn't find the answers for the following questions in this application note:

             

            1. To extend bootloader capability 4 FLASH chips 128Kbytes each could be connected to one bus and used to boot FX3 firmware.
            • Which exact brand manufacture and chip type could/should be used?
            • What is the schematic?
            • How to set addresses of these chips?
            • How FX3 choose which next chip to download?
            • How image should be divided between memory chips?
            • What special requirements should be provided?
            • Do you have an source example of this situation?
            1. To have 2 or more images in flash, Cypress mention to use 2-step bootloader. (AN76405 - EZ-USB® FX3™/FX3S™ Boot Options, FX3 as Custom USB Bootloader - KBA218343)
            • Can you explain in details how to implement it?

             

            Thanks and best regards,

            • 3. Re: CYUSB3014-BZXC boot
              JayakrishnaT_76

              Hello,

               

              As mentioned in section 7.1 of AN76405, SP! Flash/EEPROM devices from 1Kb to 12Mb are supported for boot by FX3. Some of the compatible part numbers are also mentioned under the same section. You can use a single chip from any of these flash parts for your design(4 FLASH chips are not needed). The schematics depends on the flash part used. Please refer to section 8.4 of AN70707(link provided below) which has a sample for flash connections.

              https://www.cypress.com/file/139936/download

               

              Regarding second stage bootloader, please refer to the following thread

              FX3 Boot / Firmware Update Best Practices

               

              The above thread mentions the logic that can be used to boot from multiple images stored in a flash. You can refer to it and implement the same for your application.

               

              Best Regards,

              Jayakrishna

              • 4. Re: CYUSB3014-BZXC boot
                BuYa_3858256

                Hi Jayakrishna,

                 

                Can we have a phone conversation or zoom/skype short meeting?  I am not clear about the answers and would like to discuss them with you.

                 

                I am available 24/7. I am located in California.

                 

                Thanks and best regards,

                • 5. Re: CYUSB3014-BZXC boot
                  JayakrishnaT_76

                  Hello,

                   

                  Please confirm if you are okay to attend the webex meeting at the time mentioned in my mail. If you are not okay, then please let us know an alternate time.

                   

                  Best Regards,

                  Jayakrishna

                  • 6. Re: CYUSB3014-BZXC boot
                    JayakrishnaT_76

                    Hello,

                     

                    As a follow up to your question in our meeting, the FX3 second stage bootloader firmware can be found in the following location.

                    C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\src

                     

                    When the second stage bootloader download firmware image stored inside I2C EEPROM, the boot may fail due to the following reasons:

                    1. I2C block is not initialized or configured properly (CyFx3BootI2cInit() or CyFx3BootI2cSetConfig() fails)

                    2. If the first two bytes of the firmware image is not "CY" (this check is done inside I2cInit() function towards the end).

                    3. If any error occur while downloading the firmware from the EEPROM (read from EEPROM fails).

                     

                    You can refer to the source code and let us know if you have any queries on this.

                     

                    Best Regards,

                    Jayakrishna