2 Replies Latest reply on Oct 16, 2020 10:06 AM by DaCh_1995281

    DFU upgradable BLE stack example PSoC 6

    DaCh_1995281

      Is there an example for using implementing an upgradable BLE stack using the newer DFU SDK? I'm trying to upgrade my project based on CE220960 to use PDL 3.1.0 and the newer DFU SDK.

       

      CE216767 uses DFU and BLE but isn't quite what I'm looking for because I need it to have the upgradable stack.

       

      I am currently using PSoC Creator 4.2 but have plans to eventually migrate to ModusToolbox sometime in the future in case it matters.

       

      Any help would be appreciated.

        • 1. Re: DFU upgradable BLE stack example PSoC 6
          ShipingW_81

          Please follow the steps described in attached doc to update to PDL 3.1.0 for CE220960.

          • 2. Re: DFU upgradable BLE stack example PSoC 6
            DaCh_1995281

            Where is the Cy_PDL_Init() function supposed to be added? The document isn't clear on that.

             

            Are there any changes in App0 and also do I assume that anything from bootload_user.c/h should be added to dfu_user.c/h if it is missing?

             

            For example in App0 in dfu_user.c

            When the PDL is changed to 3.1.0, cy_dfu_metadata contains

            CY_DFU_APP0_VERIFY_START, CY_DFU_APP0_VERIFY_LENGTH, /* The App0 base address and length */
            CY_DFU_APP1_VERIFY_START, CY_DFU_APP1_VERIFY_LENGTH, /* The App1 base address and length */
            0u                                                             /* The rest does not matter     */
            

             

            But using 3.0.4, in bootload_user.c, cy_bootload_metadata contains

            CY_BOOTLOAD_APP0_VERIFY_START, CY_BOOTLOAD_APP0_VERIFY_LENGTH, /* The App0 base address and length */
            CY_BOOTLOAD_APP1_VERIFY_START, CY_BOOTLOAD_APP1_VERIFY_LENGTH, /* The App1 base address and length */
            CY_BOOTLOAD_APP2_VERIFY_START, CY_BOOTLOAD_APP2_VERIFY_LENGTH, /* The App2 base address and length */
                                                                           /* Initialize vApps with dummy data */
            0xFFFFFFFF, 0x00000000,                                        /* vApp3 stores the temporal stack update location */
            0xFFFFFFFF, 0x00000000,                                        /* vApp4 stores stack update destination */
            0u                                                             /* The rest does not matter     */
            

            And CY_BOOTLOAD_APP2_VERIFY_START isn't defined when I switch to 3.1.0

             

            Thanks