3 Replies Latest reply on Oct 8, 2020 11:46 PM by SudheeshK_26

    Bootloader as Launcher Only Program

    SvSc_4616791

      Hello everyone,

       

      how do i have to build a bootloader to start the second application from the bootloader? Both applications are buildable and can also be programmed on the chip.

      The Bootloader is Launcher Only and i reffered the Hex and elf to the bootloadable.

       

      The following I do not understand yet:

      1. how do I install App1 together with the bootloader on the chip?

       

      2. how do I run the App1 from the bootloader?

       

      3. when does it start into App1 and make this program the primary one?

       

      The bootloader has to be the launcher only, because when we update the AppX, we place the AppX so that the bootloader pulls in the program and then executes it again via the bootloader. But I have not yet reached that point.

       

       

      The example program is very much broken down from our actual software and in App1 we just start an LED.

       

       

      I hope you will help me to get further with this thing.

       

      Thanks

       

      Sven

        • 2. Re: Bootloader as Launcher Only Program
          SvSc_4616791

          Hello Sudheesh,

           

          this documents are not new to me, but i dont get the right information out of it.

           

          The Documents just helps me with a normal Bootloader via I2C or other communication components, but i just need a "launcher only" Bootloader, which Bootloads my App1 when i activate him.

           

          When i need to update the Firmware, then i install the App2 where App1 is and the Bootloader loads the Updated Firmware.

           

          But like i asked in my questions, I dont know how i get my App1 on the Flash together with the Bootloader.

           

           

          Thanks and Regards,

           

          Sven

          • 3. Re: Bootloader as Launcher Only Program
            SudheeshK_26

            Hello,

             

            Thank you for the clarification. As per my understanding, your requirement is to program bootloader (launcher only) and two applications to the PSoC devices. So that, you can switch between the applications during run time, the applications can bootload each other. Please correct me, if I am wrong.

             

            Please see the example projects attached with this response.

            There are three projects.

            1. LAUNCHER
            2. COMB_APP_1_BLUE (Application 1)
            3. COMB_APP_2_GREEN (Application 2)

             

            You can follow the below steps the build and test these projects.

            1. Update the device in the PSoC creator projects to the one you use and rebuild all the projects.
            2. Open PSoC Programmer, select "File Load" option from 'File menu'. Select "COMB_APP_1_BLUE_1.hex" from the folder "LNCHR_COMB_APPS\COMB_APP_1_BLUE.cydsn\CortexM0\ARM_GCC_541\Debug". Program it to the PSoC device.
            3. In the above step, both launcher and application 1 gets programmed to the PSoC device.
            4. Close the PSoC programmer and open "Bootloader Host" application.
            5. Select the file "COMB_APP_2_GREEN_2.cyacd" from the folder "LNCHR_COMB_APPS\COMB_APP_2_GREEN.cydsn\CortexM0\ARM_GCC_541\Debug".
            6. Select the I2C port.
            7. Make Pin_1 LOW, it will generate an interrupt and start bootloader.
            8. Click on program icon. The image "COMB_APP_2_GREEN_2.cyacd" will get programmed to PSoC in this step.
            9. After successfully programming both the applications, the applications will switch between them every 5 seconds. If you want to bootload again, make the Pin_1 LOW again.

             

            Please follow the above steps and let me know, if you face any issues.

             

            Thanks and Regards,

            Sudheesh