1 Reply Latest reply on Oct 29, 2020 6:02 AM by AnHo_1298756

    Working Bootloader Example Project needed for Cy8KIT-049-42xx (UART bootloader)




      I'm new to my PSOC Creator 4.3 and my older DevBoard Cy8KIT-049-42xx  and have to find that there is no working example with bootloader.


      When I open the blinking LED bootable Example, a lot of errors occur while compiling.


      I tried to work through the tutorials, but all refer to PSOC Creator 3.x, which I do not have. Please hint on me if you found one using Creator 4.3 or 4.x.


      Since I have the PSOC MiniProg 3, I can flash the Kit OK, but I have the problem, that the PopUp Window of the Programmer is really lagging like hell, sometimes letting me wait a minute before I can continue in the dialog. The PC is quite unused regarding CPU etc., and a quite capable machine. Is PSOC Creator 4 incompatible with MiniProg3?


      In the end the project shall be updateable without the Programmer. So the preferred way to go has to be the bootloader.


      I get the feeling that it is very importand in which order one places parts or does things...


      Thank you so much for your help!







      Details what I tried:

      Using PSOC Creator 4.3, I cannot recognize or find essential settings any more. E.g. the setting when right-clicking on Project 'Bootloadable blinking LED' -> Build Settings -> Code generation : there according to docs and tutorial videos, I should set "bootloadable" as compile option. But it is not there!


      So my questsion for this board or similar UART based bootloaders is:

      has anyone the ability to fix the errors that are obviously there in the examples in a short time? Please?


      (Like in the bootloadable, the block bootloadable is not there, but rather a second bootloader, which imho is an error.

      Or in the bootloader project, in the bootloader, there is "Communication component" set to "Custom interface", but I do not know what to do with that. Where can I tell it, that this "custom interface" should point to or use UART, and why is uart there when bootloader doesn't use it?


      I tried to do it from scratch,  as it seemed easy enough,  even found some video explaining it, but for creator 3.x, and failed.

      "Generated_Source\PSoC4/UART_BOOT.h:164:41: error: conflicting types for 'UART_UartCyBtldrCommWrite'").

      I only got the error after assigning the pin for the Switch, for entering boot mode, wich I forgot in the first run. Without the switch it compiled fine. Perhaps it optimized the whole thing out, since I never could enter boot mode without it.


      I Attach the "minimal archive" of the workspace. But 2 files are missing. The Creator could not archive its own files.

      "Warning: prj.M0169: The archive succeeded with missing files. The following files were not found on disk and therefore could not be included "


      I now did some minor changes to the original example, like deleting the bootloader in the Bootloadable_Blinking_LED project and thoroughly re-asserting the hex file in the bootloadable I dropped.

      And it compiled OK, with Bootloader set to Communication Component: "Custom Interface". When  I set it to the logical "UART_1" that pops up after placing it, I get errors:

      167        #define UART_1_CyBtldrCommWrite   UART_1_UartCyBtldrCommWrite.

      Error: Generated_Source\PSoC4/UART_1_BOOT.h:164:43: error: conflicting types for 'UART_1_UartCyBtldrCommWrite'


      But the bootloader won't work. At least it doesn't blink and says error.

      12:50:05 AM - program Started

      12:50:06 AM - Timeout für den Vorgang wurde überschritten.

      12:50:06 AM - Communication port reported error 'Unable to read data from the target device'.

      12:50:06 AM - program failed in 1104 ms.