1 Reply Latest reply on Oct 23, 2019 3:21 AM by GeonaP_26

    PSOC 6 DFU SDK - Enter DFU Comand discrepancy

    TrWi_4480416

      The latest version of AN213924 available from cypress.com states the following for PSOC 6 DFU SDK command 'Enter DFU'

       

      B.2.1 Enter DFU

      Begins a DFU operation. All other commands except Exit DFU are ignored until this command is received. Responds

      with device information and DFU SDK version.

      • Input
        • Command Byte: 0x38
        • Data Bytes:

      ▪ 4 bytes (optional): product ID. If these bytes are included, and they are not 00 00 00 00, they are

      compared to device product ID data.

      • Output
        • Status/Error Codes:

      ▪ Success

      ▪ Error Command

      ▪ Error Data, used for product ID mismatch

      ▪ Error Length

      ▪ Error Checksum

        • Data Bytes:

      ▪ 4 bytes: Device JTAG ID

      ▪ 1 byte: Device revision

      ▪ 3 bytes: DFU SDK version

       

      This should result in a command packet structure with a data length of 4 but if sent this way it is not accepted by the DFU, which returns code ERROR_LENGTH .

       

      In reviewing the log from Cysmart when performing a firmware update, an example of the actual packet sent is as follows:

       

      [01:38:06:00:04:03:02:01:00:00:B7:FF:17]

       

      This shows a data length of 6 bytes, not 4 as written in the documentation.  An extra 2 bytes of 00 00 is being included in the data packet.  Does anyone have access to a more recent version of the DFU documentation or is this just a case of documentation not being updated?

        • 1. Re: PSOC 6 DFU SDK - Enter DFU Comand discrepancy
          GeonaP_26

          Enter DFU (0x38) command works well at my end with four byte data payload. Have you updated the data length parameter in the Enter DFU command packet?

          Please use 01 38 04 00 04 03 02 01 B9 FF 17 to send 4 bytes data Enter DFU (0x38) command.

          I have appended commands and responses for an I2C based bootloader from Bridge Control Panel.

          Devices list:  8bit  7bit
               address:  10    08
          w 08+ 01+ 38+ 06+ 00+ 04+ 03+ 02+ 01+ 00+ 00+ B7+ FF+ 17+ p 
          r 08+ 01+ 00+ 08+ 00+ 00+ 21+ 07+ E2+ 21+ 00+ 03+ 01+ C8+ FE+ 17+ p 
          w 08+ 01+ 38+ 04+ 00+ 04+ 03+ 02+ 01+ B9+ FF+ 17+ p 
          r 08+ 01+ 00+ 08+ 00+ 00+ 21+ 07+ E2+ 21+ 00+ 03+ 01+ C8+ FE+ 17+ p