Your request is common. The answer is below:
Generally, a USB Type-A to Mini B cable is needed to connect a CCGx device to the PC to use EZ-PD Configuration Utility. However, many designs like notebook have an I2C bootloader inside the CCGx device and have no billboard device, so it brings some inconveniences to the product development phase.
Actually, this issue can be fixed with assistance of Cypress EVB Kit. CY4501, CY4521, CY4531, and CY4541 have CY7C65215, a USB-Serial Bridge device, to implement the transition function from I2C to USB2.0.
Do the following, with CY4521 as an example:
1. Connect pins I2C_INT / I2C_SCL / I2C_SDA between the target board and the CY4521 baseboard.
2. Power up the CCGx device on the target board.
3. Power up the CY4521 board, and ensure that proper voltage exists on VDDD and VDDIO.
4. Connect the CCG_XRES pin to ground.
5. Connect the USB Mini B on CY4531 daughter board to the PC.
The CCGx device is recognized and read by the EZ-PD Configuration Utility.
Do note that this is just a workaround to meet the demands of the CCGx function validation phase; HPI on the I2C master should be
implemented to work with the I2C bootloader for full function realization.
OK, that seems to work. Thanks.
I really wanted to do all my programming over the SWD using a Miniprog3. I don't plan on having an I2C host in my end system and also don't want to have to mess with creating an HPI master. just 5 wires should let me plug in the MiniProg3.
It wasn't clear that was possible but I found an earlier thread which clearly states that I should be able to take a HEX file from PSOC creator, read it into the EZPD config tool. Modify PDO's, write out the modified HEX file and finally burn that image into the CCG2 using the PSOC programmer.
So, I used the PSOC programmer and MinProg3 to read the 32KB image out of a factory fresh CCG2. I assumed this would be a valid image that the EZPD config tool could update? Correct?
I get the following error message when I ask EZPD config to read in the firmware file read from the part:
Error: Following exception occured while decoding bootloader last row
Metadata not present in expected location.
I am running the latest build of the EZPD config tool. (V1.2 build 287)
The read of the part seems to work. I get:
Device set to CYPD2122-24LQXIT at 5:08:44 PM | 32768 FLASH bytes
Device Family set to CYPD2xxx at 5:08:44 PM |
| Automatically Detected Device: CYPD2122-24LQXIT
| Silicon: 1404, Family: A4, Major/Minor Rev: AC
Read Requested at 5:08:35 PM |
Successfully Connected to MiniProg3/1839CA000438 at 5:08:10 PM | MiniProg3 version 2.05 [3.11/2.10]
..then all the data.
The only thing that is odd is that most of the 32KByte FLASH is 0x00. There only seems to be code up to around 0x1120 or so. After that it is all 0x00's.
It isn't obvious to my why a HEX file from a device readback should be different from the HEX file generated by PSOC Creator and thus should work the same. Appreciate your help.
OK, poking around a bit I think I answered one of my own questions. The CCG2 parts as shipped from the factory only have a bootloader. I need to get the run time code loaded in them myself. I think I need to generate a HEX file using PSOC creator and the SDK to get to the next step... Learning a lot here.