3 Replies Latest reply on Feb 6, 2020 5:00 AM by BiBi_1928986

    Bootloader programming via I2C


      Hi, my microcontroller type is cy8c4014lqs-422. I would like to ask, is it possible to program bootloader by I2C? I have single-app bootloader and bootloadable application in in one 16kB memory block. I assume not, because of too low RAM (2kB), but I would like to be sure or aware of existing possibility. If yes, is there some option to generate .cyacd file of bootloader?

        • 1. Re: Bootloader programming via I2C



          Please note that Bootloader program can be placed inside Flash of the device only through programming. It is not possible to bootload the Bootloader project.


          The main purpose of the Bootloader is to bootload the application using communication components (I2C/SPI/UART/USB) etc instead of programming. So you should program the bootloader atleast once.


          Can you please elaborate more on your requirement like:

          1. Why do you want to bootload the Bootloader? Is there any special reason/constraint?




          • 2. Re: Bootloader programming via I2C

            Thank you for your response. I meant case flash refreshing, then access to the connector will be difficult.

            • 3. Re: Bootloader programming via I2C



              All the information to use I2C bootloader is found in AN86526.



              Open the Bootloader component in Creator and read the datasheet under section called API Memory Usage.  There is a table showing FLASH and SRAM requirements.


              And yes, an I2C bootloader will fit into PSoC 4014 (according to bootloader component datasheet).


              As Ganesh pointed out, you still need a method to program the bootloader image into the 4014 FLASH for the first time.  You can use Miniprog3, Kitprog, 3rd party programmer.  These will all use SWD interface.  After it's programmed with the bootloader, then you can use I2C bootloading method.


              Good luck with your project.