- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to help another user and decided to try my hand at using a Bootloader/Bootloadable project for the PSoC5LP (CY8CKIT-059) based on two example projects.
- USBFS_Bootloader - I downloaded using File/New/Project using the Target=CY8CKIT-059 and selecting "Bootloader" as the example projects.
- CE95391_USB_HID_Bootloader - I downloaded from https://www.cypress.com/documentation/code-examples/ce95391-psocr-usb-hid-bootloader
After following the instructions given in the example pdfs. I get a "successful" program of the kit. However going to "Bootloader Host" yields no acknowledgment of the VID=04B4 and PID=B71D. This is true even after holding SW1 (P2.1) while powering up through the USB port.
Apparently the VID=04B4 and PID=B71D are "installed" into my system (See snip of RegEdit screen)
However, no additional USB port shows up with this VID or PID when the USB port of the kit target is plugged in. (I do get audio notification of insertion and removal events). In the Device Manager no new USB device is displayed.
This is true whether I program in either Bootloader mentioned above.
I'm probably not setting something or forgetting something simple.
If I can get this to work, I can help others.
Len
Message was edited by:
Len
Update: Installed CySuiteUSB_3_4_7_B204.
Here is the "Descriptor Info" for this bootloader USB:
<HID_DEVICE>
FriendlyName=""
Manufacturer="Cypress Semiconductor"
Product="PSoC3 Bootloader"
SerialNumber="0001"
VendorID="04 B4"
ProductID="B7 1D"
Class="00h"
SubClass="00h"
Protocol="00h"
BcdUSB="00 00"
Usage="00 00"
UsagePage="00 01"
Version="30 01"
<INPUT>
RptByteLen="65"
Buttons="0"
Values="1"
<VALUE>
ReportID="0"
Usage="00 00"
UsagePage="00 01"
UsageMax="00 00"
BitField="00 02"
LinkCollection="00 01"
LinkUsage="00 00"
LinkUsagePage="00 01"
IsAlias="False"
IsRange="False"
IsStringRange="False"
IsDesignatorRange="False"
IsAbsolute="True"
HasNull="False"
StringIndex="0"
StringMax="0"
DesignatorIndex="0"
DesignatorMax="0"
DataIndex="0"
DataIndexMax="0"
BitField="00 02"
LinkCollection="00 01"
LinkUsage="00 00"
LinkUsagePage="00 01"
BitSize="8"
ReportCount="64"
Units="0"
UnitsExp="0"
LogicalMin="0"
LogicalMax="-1"
PhysicalMin="0"
PhysicalMax="0"
</VALUE>
</INPUT>
<OUTPUT>
RptByteLen="65"
Buttons="0"
Values="1"
<VALUE>
ReportID="0"
Usage="00 00"
UsagePage="00 01"
UsageMax="00 00"
BitField="00 02"
LinkCollection="00 01"
LinkUsage="00 00"
LinkUsagePage="00 01"
IsAlias="False"
IsRange="False"
IsStringRange="False"
IsDesignatorRange="False"
IsAbsolute="True"
HasNull="False"
StringIndex="0"
StringMax="0"
DesignatorIndex="0"
DesignatorMax="0"
DataIndex="0"
DataIndexMax="0"
BitField="00 02"
LinkCollection="00 01"
LinkUsage="00 00"
LinkUsagePage="00 01"
BitSize="8"
ReportCount="64"
Units="0"
UnitsExp="0"
LogicalMin="0"
LogicalMax="-1"
PhysicalMin="0"
PhysicalMax="0"
</VALUE>
</OUTPUT>
</HID_DEVICE>
"Engineering is an Art. The Art of Compromise."
Solved! Go to Solution.
- Tags:
- bootloader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
I have read your posts and I know you are a not a novice - didn't mean to come across that way.
I just wanted to let you know I tested on my end and it works with the built in example (USBFS_Bootloader)
in both PSoC Creator 4.2 and Creator 4.3
Targeting a Cy8CKIT-059 Board – ON MY END
So I’m not sure why it is not flashing on your end.
-Mike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To all,
I've made some progress but I'm still not successful.
Since the USB Bootloader VID and PID are viewable by CyUSBSuite,
Here's my results with USBFS_Bootloader project.
I seem to remember that there was a filter setting in the Bootloader Host program.
Once I set the VID and PID into these parameters. (Strangely the setting of the PortFilters is missing from the .pdf)
I made sure the .cyacd of the Bootloadable project was pointed to in "File:" When I select "Program" I almost immediately get:
06:44:02 AM - program Started
06:44:02 AM - The flash row is not valid for the selected array.
06:44:02 AM - program failed in 28 ms.
I'm using "out-of-the-box" example code that theoretically should work(?). Any clues from the forum?
Here's my results with CE95391_USB_HID_Bootloader project.
I program the Booloader from this project. I used the same port filter settings, and pointed to the Bootloadable .cyacd file for this project.
The Bootloadable project DID successfully load!
If anyone can give me some direction to look why the USBFS_Bootloader did not work, I would appreciate it.
Len
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
I was able to take the Cypress Example:
CE95391_USB_HID_Bootloader you provided in your posting.
I was able to recreate and program the USB bootloader and USB_Bootloadable’s successfully.
I’m running Creator 4.3 running on Windows 10.
The project was built for the CY8CKIT-059 DVK Board
I first compiled the bootloader:
and then in the bootladable projects I pointed to the new *.hex and *.elf files Generated.
This is done in the Bootladable component under dependencies.
I have attached two folders
– One for the bootloader – program the hex file with PSoC Programmer.
Folder name: USB_Bootloader
The other folder USB_Bootloadable has two files - *.CYACD
If you wanted to see if you have a hardware problem.
You can try the files I have attached –
Note:
Program the CY8CKIT-059 board with Programming USB Gold Finger connected to USB Port.
After programming and using Bootloader – you need to have a USB connected to the other Side of the CY8CKIT-059 – on the USB MINI connector with a cable.
In Creator Under – Tools – Bootloader HOST – you should see the USB device enumerate as a USB bootloader device -
Files:
Dropbox - USB_Bootloader.zip - Simplify your life
Dropbox - USB_Bootloadable.zip - Simplify your life
Hope that helps
-MIke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mike,
Thank you for looking into this.
As I indicated in my earlier email "CE95391_USB_HID_Bootloader" did eventually work for me also.
The other USB-based bootloader program called "USBFS_Bootloader" which I got when I created a New project with the Target=CY8CKIT-059 and the example "USBFS_Bootloader" I did not get to work. It is "out-of-the-box" code, no modifications by me (except for the Bootloadable component to point to the Bootloader hex file).
Len
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
Sorry I missed that you already had CE95391_USB_HID_Bootloader – Working.
Making a new project in Both Creator 4.2 and 4.3 – USBFS_Bootloader
I was able to see the “ out of the box project “ working on a CY8CKIT-059 board.
Note:
So on my end I see project being able to load from the bootloader and executing the boot loadable -
I did notice that the example for the bootloadable -- ONLY turns on the LED – In main.c
TURN_ON_LED3;
Witch doesn’t really tell you anything –
I changed the main.c in Bootloadable project to just blink the led a little to confirm a new bootloadable is loaded.
//Main.c
int main()
{
/* Application does not execute any other actions. */
for(;;)
{
CyDelay (300);
LED3_Write(1u);
CyDelay (300);
LED3_Write(0u);
}
}
-Mike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
I have read your posts and I know you are a not a novice - didn't mean to come across that way.
I just wanted to let you know I tested on my end and it works with the built in example (USBFS_Bootloader)
in both PSoC Creator 4.2 and Creator 4.3
Targeting a Cy8CKIT-059 Board – ON MY END
So I’m not sure why it is not flashing on your end.
-Mike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mike,
Thanks for all your help and concern. We're cool!
I'm about to re-download the USBFS_Bootloader as-is from Cypress and try it again. I'll let you know if anything changes.
The issue I'm having with it is that I can install the Bootloader. When I go to program the Bootloadable program, the Bootloader Host fails within 10s of msecs with a "The flash row is not valid for the selected array."
The other Bootloader/Bootloadable project I got from the Cypress web site "CE95391_USB_HID_Bootloader" works both in the Bootloader and Bootloadable programming.
Len
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mike,
Good news! I reloaded the USBFS_Bootloader example project (out-of-the-box with no mods) and it worked. The Bootloader allowed me to program the Bootloadable project.
Humm. I wonder what was different before when I first downloaded it?
Thanks for your help.
Len
"Engineering is an Art. The Art of Compromise."