I can't get KIT-059 KitProg board to reset to factory .hex settings.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

I took my Kit-059 and reprogrammed the KitProg to MY application using the KitProg bootloader.  That works!.  

However when I try to reprogram the KitProg back to PSoC 5LP Factory Program Restore, it does not return to KitProg program/debug functionality with a PSoC target PCB.

I followed the instructions for both the "8.2.1.1 Restore PSoC 5LP Factory Program Using PSoC Programmer"  and  "8.2.1.2 Restore PSoC 5LP Factory Program Using Bootloader Host Tool".  In both cases, the bootloadable firmware indicated successful programming and verification.  However, once completed, the KitPRog would not be recognized by Creator or Programmer as a programming or debugging device.

The KitProg does not show up in Device Manager.

I can successfully reload my application into the KitProg bootloader and it appears to respond correctly.

Without better evidence, once I program the factory KitProg back in, the PNP parameters of VID = 04B4 and PID = F139 do not show up.  I do know that the USB interface on the KitProg is working because I use it for my bootloaded application.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
1 Solution
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

When the CY8CKIT-059 connected to PC with pressing the RESET button, the CY8CKIT-059 kit is recognized as an HID device which VID/PID is 04b4/F13B.

GS004316.png

Can you confirm the device instance on the device manager?

I suppose this answer is YES because you can access by the PSoC Programmer and Bootloader Host Tool.

After PSoC Programmer reloading the KitProg program successfully,

GS004318.png

What does your CY8CKIT-059 says?

KirProg is recognized as a USB Composite Device in the device manager.

GS004320.png

Can you find a composite device?

KitProg has Mass Storage mode recognized as VID/PID=04B4/F138

GS004319.png

If you find this device, push the RESET button for 5 seconds to revert to the KitProg mode.

Regards,

Noriaki

View solution in original post

0 Likes
4 Replies
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

When the CY8CKIT-059 connected to PC with pressing the RESET button, the CY8CKIT-059 kit is recognized as an HID device which VID/PID is 04b4/F13B.

GS004316.png

Can you confirm the device instance on the device manager?

I suppose this answer is YES because you can access by the PSoC Programmer and Bootloader Host Tool.

After PSoC Programmer reloading the KitProg program successfully,

GS004318.png

What does your CY8CKIT-059 says?

KirProg is recognized as a USB Composite Device in the device manager.

GS004320.png

Can you find a composite device?

KitProg has Mass Storage mode recognized as VID/PID=04B4/F138

GS004319.png

If you find this device, push the RESET button for 5 seconds to revert to the KitProg mode.

Regards,

Noriaki

0 Likes

Noriaki,

You are correct.  The KitProg in bootloader mode is VID=04B4 PID=013B when the reset switch is active during the plugin.

pastedImage_0.png

When a properly factory programmed KitProg in USBUART mode is VID=04B4 PID=0139 when the reset is NOT active during plugin.  This is not occurring once a factory reset programming has successfully occurred.

pastedImage_1.png

The equivalent to:  pastedImage_2.png

does not appear.  In fact, a window shows up for about 6 seconds that says something like "USB device not recognized."

New  information JUST IN!

When I press the reset button for 5 seconds with the KitProg already plugged in, I get the USBUART HID to appear.  I removed the KitProg and plugged it back  in, the USBUART is still  available.  If I reconnect it back to the original target board, I can program it.

All is now working.  It's a little confusing how it got where it is at.

Is it possible that some EEPROM is used to store the latest HID functional setting?  When I programmed my own application into the KitProg, I use the first 300 bytes of EEPROM.  If this is the case, my application probably wrote to the same EEPROM locations and confused the bootloader.

Just a guess.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Thank you for letting me know new information.

The recent KitProg has two modes, KitProg and Mass Storage.  The status of the mode is stored in EEPROM and it is not overwritten or erased by the firmware upgrade.  I don't know which address is the mode status stored.

Regards,

Noriaki

0 Likes

Noriaki,

Thank you for your help.  I ended up changing the starting address of the EEPROM configuration data of my application to the second sector.  This hopefully should avoid the collision with the KitProg EEPROM address.

Future note to Cypress:  In the section of the KitProg documents regarding bootloading your own application, place a note about what EEPROM addresses are being used by KitProg.  These EEPROM locations are fair game if the user never plans on returning the factory code back in KitpProg.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes