- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
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!
Andi
---
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.
- Labels:
-
PSoC 4 Architecture
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
Since I'm new, I did not do it properly, and I can not edit my post. So...
In the bootloader of the project in the message above I did not include code in main.c, and somehow the examples did some uart.c I did not care to look at, sorry - Somehow I thought it would be enough to place the bootloader in the TopDesign.
I discarded the trial and error for this and started new.
I found some example code here:
https://www.cypress.com/documentation/code-examples/ce221653-psoc-4-bootloader-and-bootloadable
and downloaded the ZIP.
https://www.cypress.com/file/407086/download
Here I exchanged I2C with uart. Here this compiles fine. I used 57kBaud.
Compiled and programmed with MiniProg.
Led doesn't show, but I do not know how to inverse it, since in my board, the only (blue) led is to ground.
In the Blinky example, Bootloadable1, I adjusted the LED Pin to the only one on the board, P1[6], in the first example program and tried to download it with the bootloader, but though the BootLoader seems to be running, it doesn't work, and it can not erase or program.
I observe the Win(10) sound from re-connecting usb devices, though, every some minutes.
10:34:15 AM - program Started
10:34:16 AM - The flash row is not valid for the selected array.
10:34:16 AM - program failed in 149 ms
and similar for erase test:
10:34:53 AM - erase Started
10:34:54 AM - The flash row is not valid for the selected array.
10:34:54 AM - erase failed in 151 ms. (Varies, up to 1103ms;)
)
I observed the hex file is 71kB, the elf 316kB, but the cyacd is only 5kB. Can this be? I only point the Bootloader Host to the cyacd.
Thanks!
Andi