KitProg User Guide
KitProg User Guide
KitProg User Guide
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
www.cypress.com
Copyrights
Copyrights
© Cypress Semiconductor Corporation, 2015-2018. This document is the property of Cypress Semiconductor Corporation
and its subsidiaries, including Spansion LLC ("Cypress"). This document, including any software or firmware included or refer-
enced in this document ("Software"), is owned by Cypress under the intellectual property laws and treaties of the United
States and other countries worldwide. Cypress reserves all rights under such laws and treaties and does not, except as spe-
cifically stated in this paragraph, grant any license under its patents, copyrights, trademarks, or other intellectual property
rights. If the Software is not accompanied by a license agreement and you do not otherwise have a written agreement with
Cypress governing the use of the Software, then Cypress hereby grants you a personal, non-exclusive, nontransferable
license (without the right to sublicense) (1) under its copyright rights in the Software (a) for Software provided in source code
form, to modify and reproduce the Software solely for use with Cypress hardware products, only internally within your organi-
zation, and (b) to distribute the Software in binary code form externally to end users (either directly or indirectly through resell-
ers and distributors), solely for use on Cypress hardware product units, and (2) under those claims of Cypress's patents that
are infringed by the Software (as provided by Cypress, unmodified) to make, use, distribute, and import the Software solely
for use with Cypress hardware products. Any other use, reproduction, modification, translation, or compilation of the Software
is prohibited.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, WITH REGARD TO THIS DOCUMENT OR ANY SOFTWARE OR ACCOMPANYING HARDWARE, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PUR-
POSE. No computing device can be absolutely secure. Therefore, despite security measures implemented in Cypress hard-
ware or software products, Cypress does not assume any liability arising out of any security breach, such as unauthorized
access to or use of a Cypress product. In addition, the products described in these materials may contain design defects or
errors known as errata which may cause the product to deviate from published specifications. To the extent permitted by
applicable law, Cypress reserves the right to make changes to this document without further notice. Cypress does not
assume any liability arising out of the application or use of any product or circuit described in this document. Any information
provided in this document, including any sample design information or programming code, is provided only for reference pur-
poses. It is the responsibility of the user of this document to properly design, program, and test the functionality and safety of
any application made of this information and any resulting product. Cypress products are not designed, intended, or autho-
rized for use as critical components in systems designed or intended for the operation of weapons, weapons systems, nuclear
installations, life-support devices or systems, other medical devices or systems (including resuscitation equipment and surgi-
cal implants), pollution control or hazardous substances management, or other uses where the failure of the device or system
could cause personal injury, death, or property damage ("Unintended Uses"). A critical component is any component of a
device or system whose failure to perform can be reasonably expected to cause the failure of the device or system, or to
affect its safety or effectiveness. Cypress is not liable, in whole or in part, and you shall and hereby do release Cypress from
any claim, damage, or other liability arising from or related to all Unintended Uses of Cypress products. You shall indemnify
and hold Cypress harmless from and against all claims, costs, damages, and other liabilities, including claims for personal
injury or death, arising from or related to any Unintended Uses of Cypress products.
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, WICED, PSoC, CapSense, EZ-USB, F-
RAM, and Traveo are trademarks or registered trademarks of Cypress in the United States and other countries. For a more
complete list of Cypress trademarks, visit cypress.com. Other names and brands may be claimed as property of their respec-
tive owners.
1. Introduction 4
2. KitProg Ecosystem 5
3. KitProg Programmer/Debugger 7
3.1 Programming Using PSoC Creator..............................................................................7
3.2 Debugging Using PSoC Creator ..................................................................................9
3.3 Programming Using PSoC Programmer....................................................................10
3.4 KitProg Driver Installation ..........................................................................................11
3.5 Updating the KitProg Firmware..................................................................................11
Appendix 51
Revision History 53
The KitProg is an onboard programmer/debugger with USB-I2C and USB-UART bridge functionality.
The KitProg is integrated onto most PSoC development kits. This user guide provides
comprehensive information on how to use the KitProg functionalities with PSoC development kits.
Figure 1-1 shows the KitProg Ecosystem. The Cypress PSoC 5LP device is used to implement the
KitProg functionality.
Figure 1-1. KitProg Ecosystem
KitProg
PSoC 5LP
Status LED CY8C5868LTI-LP039
PC USB Host Cypress Target Device
USB HID
Bootloader
PSoC Creator GPIO XRES
SWD
PSoC Programmer KitProg Application SWD
USB
UART
Bridge Control Panel UART RX/TX
SWD Programmer
SWD Debugger I2C
I2C
Serial Terminal
USB-UART Bridge
USB-I2C Bridge
Table 2-1 lists the development kits that use the KitProg. Table 2-2 lists the prerequisite Cypress
software needed to use the KitProg.
The CY3280-MBR3 CapSense Evaluation Kit features a fixed-function CapSense controller device;
the KitProg on this kit is only used for the USB-I2C bridge functionality. Therefore, except the chapter
6. KitProg USB-I2C Bridge on page 27, other chapters of this UG are not applicable to the
CY3280-MBR3 kit.
The KitProg supports different speeds for communication interfaces. Table 2-3 summarizes the
KitProg operating modes.
This document assumes that you know the basics of how to use PSoC Creator™. If you are new to
PSoC Creator, refer to the documentation in the PSoC Creator home page. You can also refer to the
following application notes to get started with PSoC devices:
■ Getting Started with PSoC® 4
■ Getting Started with PSoC® 4 BLE
■ Getting Started with PSoC® 5LP
■ Getting Started with CapSense®
This section explains the method to use the KitProg programmer/debugger integrated onto the
PSoC development kits. The KitProg supports the development kits listed in Table 2-1. This section
uses the PSoC 4 M-Series Pioneer and PSoC 4 M-Series Prototyping Kit as examples.
2. Launch PSoC Creator from Start > All Programs > Cypress > PSoC Creator <version> >
PSoC Creator <version>.
3. Select File > Open > Project/Workspace in PSoC Creator and browse to the desired project.
4. Select Build > Build Project or press [Shift] [F6] to build the project, as shown in Figure 3-3.
Figure 3-3. Build an Example Project
5. If there are no errors during build, program the PSoC 4200M device on the kit by choosing
Debug > Program or pressing [Ctrl] [F5], as shown in Figure 3-4.
2. When PSoC Creator enters the Debug mode, use the buttons on the toolbar or keyboard short-
cuts to debug your project.
For more details on using the debug features, refer to the PSoC Creator Help. Select Help >
PSoC Creator Help Topics in the PSoC Creator menu. In the PSoC Creator Help window, locate
Using the Debugger section in the Contents tab, as shown in Figure 3-6.
Note: It is recommended to use KitProg with Windows 7 or later operating systems to ensure proper
operation of KitProg USB-UART COM port. If Windows XP 32-bit is used, ensure that the SP3 is
installed. The Windows XP 64-bit does not support UART debug function.
Figure 3-7. KitProg Driver Installation (appearance may differ depending on the Windows version)
Click OK to close the window. On closing the warning window, the Actions and Results window
displays: “Please navigate to the Utilities tab and click the Upgrade Firmware button”, as shown in
Figure 3-9.
To update the KitProg, go to the Utilities tab on PSoC Programmer and click Upgrade Firmware, as
shown in Figure 3-9.
Figure 3-9. Upgrade Firmware in PSoC Programmer
On successful upgrade, the Actions and Results window displays the firmware update message with
the KitProg version, as shown in Figure 3-10.
KitProg firmware version
KitProg firmware upgrade message
The KitProg can act as a USB Mass Storage Programmer. The KitProg Programmer and Debugger,
KitProg USB-I2C Bridge, and KitProg USB-UART Bridge functionalities are not available in this con-
figuration.
The kits listed in Table 2-1 except CY3280-MBR3 CapSense Evaluation Kit support the USB Mass
Storage Programmer feature.
Visit www.cypress.com/psocprogrammer to download the latest version of the PSoC Programmer.
2. Open the KitProg Drive to view the STATUS.TXT file, as shown in Figure 4-2. Note that the file
extension .TXT is visible for the file, if it is enabled in your PC settings. The STATUS.TXT shows
the current status of the Mass Storage Programmer.
Figure 4-2. STATUS.TXT in the KitProg Drive
3. Copy any PSoC 4200M device based project .hex file to the KitProg Drive to begin programming.
Alternately, you can also drag and drop the .hex file on to the drive. The .hex file is available in
the following path:
<Project Directory>\<Project Name.cydsn>\CortexM0\<Compiler Name and
Version>\<Debug> or <Release>\<Project Name.hex>
Figure 4-3. Copy the .hex File to KitProg Drive
4. The Status LED on the kit blinks during the programming operation. The Status LED continues to
blink for 2 seconds after the programming operation and the KitProg Drive automatically removes
the copied file from the drive. Press F5 in the file explorer to refresh the contents of the drive. This
will display only the STATUS.TXT file in the KitProg Drive.
5. Open the STATUS.TXT file to view the status of the programming operation, as shown in
Figure 4-4.
Figure 4-4. Status Displayed in the KitProg Drive after Programming
The KitProg can act as a USB-UART bridge. This feature of the KitProg is useful to send and receive
data between the Cypress device on the kit and the PC. For example, in the PSoC 4 M-Series
Pioneer Kit, the KitProg USB-UART can be used to print debug messages on COM terminal
software running on the PC.
This section explains a method to create a PSoC 4 code example, which communicates with the
COM terminal software using the KitProg USB-UART Bridge. This example uses Windows
HyperTerminal as the COM terminal software. If you have a Windows operating system that does
not have HyperTerminal, use alternate terminal software such as PuTTY.
1. Create a new PSoC 4 project in PSoC Creator, as shown in Figure 5-1. Select a specific location
for your project and name the project as desired. You must select the appropriate device for this
project depending on the kit as provided in Table 2-1. Ensure that the Project template option is
set to Empty schematic. This example uses PSoC 4200M as the target device and PSoC 4 M-
Series Pioneer Kit as the target board.
Figure 5-1. Create New Project in PSoC Creator
2. Drag and drop a UART (SCB mode) Component from the Component Catalog (see Figure 5-2) to
the TopDesign. The Component Catalog is located along the right side of the PSoC Creator
window by default. To configure the UART, double-click or right-click the UART Component and
select Configure, as shown in Figure 5-3.
Figure 5-2. UART Component in Component Catalog
3. Configure the UART Component as shown in Figure 5-4, Figure 5-5 and Figure 5-6, and then
click OK.
Figure 5-4. UART Configuration Tab Window
4. Select P7[0] for UART RX and P7[1] for UART TX in the Pins tab of <Project_Name>.cydwr, as
shown in Figure 5-7. The file <Project_Name>.cydwr can be found in the Workspace Explorer
window, which is located along the left side of the PSoC Creator window by default. Double-click
on the file to open it. Note that these are the pins for the USB-UART interface on the PSoC 4 M-
Series Pioneer kit. If you are using a different kit, refer to the respective Kit Guide for the
appropriate pins.
5. Place the following code in the main.c file. The code echoes any data received through UART.
Note: The main.c file can be found on the Workspace Explorer window, which is located along the
left side of the PSoC Creator window by default. Double-click on the file to open it.
#include <project.h>
int main()
{
uint8 ch;
/* Start SCB UART TX+RX operation */
UART_Start();
/* Transmit String through UART TX Line */
UART_UartPutString("CY8CKIT-044 USB-UART");
for(;;)
{
/* Get received character or zero if nothing has been
received yet */
ch = UART_UartGetChar();
if(0u != ch)
{
/* Send the data through UART. This functions is
blocking and waits until there is an entry into the TX
FIFO. */
UART_UartPutChar(ch);
}
}
}
6. Build the project by choosing Build > Build [Project Name] or pressing [Shift] [F6]. After the
project is built without errors and warnings, program the project (by choosing Debug > Program)
to the PSoC 4200M using KitProg.
Note: UART RX and UART TX can be routed to any digital pin on PSoC 4 by using the UDB
implementation of the UART Component. In this case, we are using the SCB implementation of
the UART, which routes the pins to one of the specific set of pins supported by the device. This
will vary depending on the PSoC 4 device used.
To communicate with the PSoC 4200M device from the terminal software, follow this procedure:
1. Connect the USB Mini-B cable to J6. The kit enumerates as a KitProg USB-UART, and is
available in the Device Manager under Ports (COM & LPT). A communication port is assigned
to the KitProg USB-UART, as shown in Figure 5-8.
Figure 5-8. KitProg USB-UART in Device Manager
2. Open HyperTerminal, choose File > New Connection, enter a name for the new connection, and
then click OK as shown in Figure 5-9. For PuTTY, double-click the PuTTY application and select
Serial under Category.
Figure 5-9. Open New Connection
HyperTerminal
PuTTY
3. A new window opens, where the communication port can be selected. In HyperTerminal, select
COMx (the specific communication port that is assigned to the KitProg USB-UART) in Connect
using and click OK, as shown in Figure 5-10.
In PuTTY, enter the COMx in Serial line to connect to. This example uses COM12.
Figure 5-10. Select Communication Port
PuTTY
HyperTerminal
PuTTY
4. In HyperTerminal, select Bits per second, Data bits, Parity, Stop bits, and Flow control under
Port Settings and click OK (see Figure 5-11). Ensure that the settings are identical to the UART
settings configured for the PSoC 4200M device.
In PuTTY, enter the Speed (baud), Data bits, Stop bits, Parity, and Flow control under
Configure the serial line.
Figure 5-11. Configure the Communication Port
PuTTY
HyperTer minal
PuTTY
5. Enable Echo typed characters locally under File > Properties > Settings > ASCII Setup to
display the typed characters on HyperTerminal, as shown in Figure 5-12. In PuTTY, select Force
on under Terminal > Line discipline options to display the typed characters on PuTTY, as
shown in Figure 5-12.
Figure 5-12. Enable Echo of Typed Characters in HyperTerminal and PuTTY
6. In PuTTY, click Session and select Serial under Connection type. Serial line shows the
communication port (COM12) and Speed shows the baud rate selected. Click Open to start the
communication, as shown in Figure 5-13.
Figure 5-13. Opening Port in PuTTY
7. The COM terminal software displays both the typed data and the echoed data from the PSoC
4200M UART, as shown in Figure 5-14.
Figure 5-14. Data Displayed on HyperTerminal and PuTTY
The KitProg serves as a USB-I2C bridge that can be used to communicate with the USB-I2C soft-
ware running on the PC. For example, the KitProg USB-I2C Bridge can be used to tune the
CapSense Component on a PSoC device. This feature is applicable to all kits listed in Table 2-1.
This section uses the PSoC 4 M-Series Pioneer Kit as an example to demonstrate the KitProg USB-
I2C Bridge functionality. The following steps describe how to use the USB-I2C Bridge, which can
communicate between the Bridge Control Panel (BCP) software and the PSoC 4200M device.
Note: For information on how to use the KitProg USB-I2C Bridge to tune the CapSense Component,
refer to Section 5.2.2 Manual Tuning Process in AN85951 - PSoC 4 CapSense Design Guide.
1. Create a new PSoC 4 project in PSoC Creator, as shown in Figure 6-1. Select a specific location
for your project and name the project as desired. You must select the appropriate device for this
project depending on the kit, as provided in Table 2-1. Ensure that the option Project template is
set to Empty schematic. This example uses PSoC 4200M as the target device.
Figure 6-1. Create New Project in PSoC Creator
2. Drag and drop an EZI2C Slave (SCB mode) Component from the Component Catalog (see
Figure 6-2) to the TopDesign. The Component Catalog is located along the right side of the PSoC
Creator window by default. To configure the EZI2C Slave Component, double-click or right-click
the EZI2C Slave Component and select Configure, as shown in Figure 6-3.
Figure 6-2. EZI2C Slave Component in Component Catalog
3. Configure the EZI2C Slave Component as shown in Figure 6-4 and Figure 6-5, and then click
OK.
Figure 6-4. Configuration Tab
4. Select pin P4[0] for the I2C SCL and pin P4[1] for the I2C SDA in the Pins tab of
<Project_Name>.cydwr, as shown in Figure 6-6. The <Project_Name>.cydwr file is available in
the Workspace Explorer window, which is located along the left side of the PSoC Creator window
by default. Double-click on the file to open it. Note that these are the pins for the USB-I2C inter-
face on the PSoC 4 M-Series Pioneer kit. If you are using a different kit, refer to the respective Kit
Guide for the appropriate pins.
Figure 6-6. Pin Selection
5. Place the following code in the main.c file. The code will enable the PSoC 4200M device with the
BCP application using the EZI2C Slave interface.
Note: The main.c file can be found on the Workspace Explorer window, which is located along the
left side of the PSoC Creator window by default. Double-click on the file to open it.
#include <project.h>
int main()
{
/* I2C Read/Write Buffer. */
uint8 i2cBuffer[BUF_SIZE];
CyGlobalIntEnable;
EZI2C_1_Start();
/* This API sets the buffer and address boundary to which the external
* master can communicate. In this example, external master can read
* from and write to the first 5 bytes of the i2cBuffer and read bytes
* from all the 10 bytes of the i2cBuffer array. */
EZI2C_1_EzI2CSetBuffer1(BUF_SIZE, READ_WRITE_SIZE, i2cBuffer);
for(;;)
{
}
}
6. Build the project by choosing Build > Build Project or pressing [Shift] [F6]. After the project is
built without errors and warnings, program ([Ctrl] [F5]) this project onto the PSoC 4200M using
KitProg.
7. Open the BCP from Start > All Programs > Cypress > Bridge Control Panel <version> >
Bridge Control Panel <version>.
8. Select KitProg/<serial number> under Connected I2C/SPI/RX8 Ports, as shown in Figure 6-7.
Figure 6-7. Connecting to KitProg in BCP
9. Open Protocol Configuration from the Tools menu and select the appropriate I2C Speed, as
shown in Figure 6-8. Ensure that the I2C speed is the same as the one configured in the EZI2C
Slave Component. Click OK to close the window.
Figure 6-8. Opening Protocol Configuration Window in BCP
10.From the BCP, transfer 5 bytes of data to the I2C device with slave address 0x08. The EZI2C
Slave requires an additional parameter to be sent from the BCP to set the offset address from/to
where the data bytes are read/written. Type the command shown in Figure 6-9 and press [Enter]
or click the Send button in the BCP. The log shows whether the transaction was successful. A “+”
after a byte indicates that the transaction was successful, and a “-” indicates that the transaction
was a failure.
Figure 6-9. Enter Commands in BCP
11. From the BCP, read 5 bytes of data from the I2C slave device with slave address 0x08. The log
shows if the transaction was successful, as shown in Figure 6-10.
Note: You can add additional lines of commands by pressing [Ctrl] [Enter]. To execute any line,
click on that line and press [Enter] or click the Send button.
Refer to Help > Help Contents in the BCP or press [F1] for more information on the I2C commands.
The KitProg is implemented using a PSoC 5LP device. You can also use the PSoC 5LP as a mixed-
signal system-on-chip device to build your own custom projects. For example, the PSoC 5LP on the
kit can be reprogrammed to act as a function generator for the kit. Refer to the application note
AN69133 - PSoC® 3 / PSoC 5LP Easy Waveform Generation with the WaveDAC8 Component for
details on how to create waveforms using a PSoC 5LP device.
Two types of projects can be created for a PSoC 5LP that runs KitProg: Bootloadable and Normal.
Bootloadable projects can be programmed into the PSoC 5LP using the USB connection from a PC
without any specialized hardware. To program Normal projects, you will require a MiniProg3. You
also need to populate the PSoC 5LP programming header on the development kit. For the PSoC 4
M-Series Pioneer Kit, this header is marked J5. See the respective kit guide for more information on
the PSoC 5LP programming header. Jump to the section Building a Normal Project for PSoC
5LP chapter on page 42, if you want to create a normal project for PSoC 5LP.
To learn more about the bootloading concept, refer to the application note AN73854 - PSoC® 3,
PSoC 4, and PSoC 5LP Introduction to Bootloaders.
Note: The CY3280-MBR3 CapSense Evaluation Kit does not have a provision to populate the
programming header for PSoC 5LP.
The following sections provide step by step directions for building a Bootloadable and a Normal
project for PSoC 5LP.
To build a bootloadable application for the PSoC 5LP, follow this procedure:
1. In PSoC Creator, choose New > Project and click the PSoC 5LP Design; select Launch Device
Selector from the drop-down list for Device to bring up the Select PSoC 5LP Device window
and select CY8C5868LTI-LP039, as shown in Figure 7-3. Click OK.
Note: If you have not set the Application Type as Bootloadable in the New Project window under
the Advanced section (in PSoC Creator 3.1 or earlier), you can change it in the existing project by
selecting Project > Build Settings and click the <Project Name> > Application Type >
Bootloadable. Beginning with PSoC Creator 3.2, the Application Type option is removed from the
New Project window and the Build Settings menu. PSoC Creator 3.2 automatically recognizes the
application type from the TopDesign schematic.
Figure 7-2. Open New Project in PSoC Creator
2. Navigate to the Schematic view and drag and drop a Bootloadable Component (see Figure 7-4)
on the TopDesign.
Figure 7-4. Bootloadable Component in Component Catalog
3. Set the dependency of the Bootloadable Component by selecting the Dependencies tab in the
configuration window and clicking the Browse button, as shown in Figure 7-5. Select the
KitProg_Bootloader.hex (see Figure 7-6) and click Open.
Note: The KitProg_Bootloader.elf is selected automatically if it is also available with the same name
in the same path. Ensure that both .hex and .elf file exist in the same folder by the same name.
Figure 7-5. Configuration Window of Bootloadable Component
4. In the General tab, check the Manual application image placement checkbox and set the
Placement address as ‘0x00002800’, as shown in Figure 7-7.
Figure 7-7. Bootloadable Component-General Tab
7. Build the project in PSoC Creator by choosing Build > Build Project or pressing [Shift] [F6].
8. To program the project onto the PSoC 5LP device, open the Bootloader Host tool, which is
available in PSoC Creator. Choose Tools > Bootloader Host, as shown in Figure 7-9.
Figure 7-9. Open Bootloader Host Tool in PSoC Creator
9. Keep the reset switch (SW1) pressed and connect the kit to the computer. If the switch is pressed
for more than 100 ms, the PSoC 5LP enters the bootloader.
10.In the Bootloader Host tool, click Filters and add a filter to identify the USB device. Ensure that
the check box for Show USB Devices is enabled. Set VID as 0x04B4, PID as 0xF13B, and click
OK, as shown in Figure 7-10.
Figure 7-10. Port Filters Tab in Bootloader Host Tool
11. In the Bootloader Host tool, click the Open File button (Figure 7-11) to browse to the location of
the bootloadable file (*.cyacd), as shown in Figure 7-12. This file is present in the project
directory.
Figure 7-11. Open Bootloadable File in Bootloader Host Tool
Figure 7-12. Select Bootloadable .cyacd File from Bootloader Host Tool
12.Select the USB Human Interface Device in the Ports list and click the Program button
(Figure 7-11) in the Bootloader Host tool to program the device.
13.If the bootload is successful, the log displays “Programming Finished Successfully”; otherwise, it
displays “Failed” and a reason for the failure.
Notes:
■ The PSoC 5LP pins are connected to the PSoC 5LP GPIO header. These pins are selected to
support high-performance analog and digital projects. See A.1 Pin Assignment Tables for pin
information.
■ Take care when allocating the PSoC 5LP pins for custom applications. For example, P3[2]-P3[3]
are dedicated for programming the PSoC 4200M in CY8CKIT-044. Refer to the respective kit
schematics before allocating the pins.
■ When a custom bootloadable project is programmed onto the PSoC 5LP, the initial capability of
the PSoC 5LP to act as a programmer, USB-UART bridge, or USB-I2C bridge is not available. To
recover this functionality, bootload the KitProg file back into the PSoC 5LP. The file is available in
the kit installation directory at:
<Install_Directory>\<Kit_Name>\<version>\Firmware\Programmer\KitProg\Ki
tProg.cyacd
■ The status LED does not function unless it is used by the custom project.
For additional information on bootloaders, refer to the AN73503 - USB HID Bootloader for PSoC 3
and PSoC 5LP.
To build a normal project for the PSoC 5LP, follow these steps:
1. In PSoC Creator, choose New > Project and click the PSoC 5LP Design; select Device as
CY8C5868LTI-LP039 (see Figure 7-13), and then click OK.
Figure 7-13. Create New Project in PSoC Creator
This section explains the methods to troubleshoot the KitProg and recover the KitProg firmware if you modified it.
Note: The Bridge Control Panel software cannot connect to the KitProg, if the KitProg firmware
version is outdated. Refer to Updating the KitProg Firmware on how to update the KitProg firmware.
Note: The programming/debugging function and USB-I2C bridge function of the KitProg are
mutually exclusive functions and cannot be used together. As a result, in order to use one function,
the other function should be disconnected. For instance, in order to program the device while using
USB-I2C bridge in BCP, either close BCP or disconnect the USB-I2C bridge in BCP. The USB-UART
bridge function of the KitProg, however, can run in parallel to both programming/debugging and
USB-I2C bridge functions.
4. Switch to the Utilities tab in PSoC Programmer and click the Upgrade Firmware button, as
shown in Figure 8-2. Unplug all other PSoC programmers (such as MiniProg3 and DVKProg)
from the PC prior to clicking the Upgrade Firmware button.
5. After programming is completed, the message “Firmware Update Finished at <time>” appears,
and PASS message is indicated on the status bar, as shown in Figure 8-3.
Figure 8-3. Firmware Update Completed
6. The factory program is now successfully restored on the PSoC 5LP. It can be used as the
programmer/debugger for the PSoC 4200M device.
8.2.1.2 Restore PSoC 5LP Factory Program Using Bootloader Host Tool
1. Launch the Bootloader Host tool from Start > Cypress > PSoC Creator <version> >
Bootloader Host.
2. Using the File > Open menu, load the KitProg.cyacd file, which is installed with the kit software,
as shown in Figure 8-4. The default location for this file is:
<Install_Directory>\<Kit_Name>\<version>\Firmware\Programmer\KitProg\KitP
rog.cyacd
Figure 8-4. Load KitProg .cyacd File
3. Configure the PSoC 4 M-Series Pioneer Kit in bootloader mode. To do this, while holding down
the reset button (SW1 for pioneer kits and SW3 for prototyping kits), connect the PSoC 4 M-
Series Pioneer Kit to the PC using the included USB cable (USB Standard-A to Mini-B). This puts
the PSoC 5LP into bootloader mode, which is indicated by the blinking green status LED.
4. In the Bootloader Host tool, set the filters for the USB devices with VID: 04B4 and PID: F13B.
The USB Human Interface Device port appears in the Ports list. Click the port to select it, as
shown in Figure 8-5.
Figure 8-5. Select USB Human Interface Device
5. Click the Program button (or choose Actions > Program) to restore the factory program by
bootloading it onto the PSoC 5LP.
6. After programming is completed, the message “Programming Finished Successfully” appears, as
shown in Figure 8-6.
Figure 8-6. Programming Finished Successfully
7. The factory KitProg program is now successfully restored on the PSoC 5LP.
A.1.2 PSoC 5LP GPIO Header (J8) for CY8CKIT-042 and CY8CKIT-040
J8
PSoC 5LP PSoC 5LP PSoC 5LP PSoC 5LP
Pin Pin
Signal Description Signal Description
J8_01 PSoC 5LP_VDD VDD J8_02 P1[2] Digital I/O
Delta Sigma Delta Sigma
J8_03 P0[0] J8_04 P0[1]
ADC + Input ADC - Input
J8_05 P3[4] SAR - Input J8_06 P3[5] SAR + Input
J8_07 P3[6] Buffered VDAC J8_08 P3[7] Buffered VDAC
J8_09 P12[6] UART RX J8_10 P12[7] UART TX
SPI MISO/I2C
J8_11 GND J8_12 P3[0] IDAC Output
SDA
A.1.3 PSoC 5LP GPIO Header (J8 and J9) for CY8CKIT-059 and CY8CKIT-043
J9 J8
PSoC 5LP PSoC 5LP PSoC 5LP PSoC 5LP
Pin Pin
Signal Description Signal Description
J9_01 VBUS Power/VDD J8_01 GND Ground
J9_02 GND Ground J8_02 P3[0] GPIO
J9_03 P12[5] GPIO J8_03 P3[4] GPIO
J9_04 P12[0] GPIO/I2C_SCL J8_04 P3[5] GPIO
J9_05 P12[1] GPIO/I2C_SDA J8_05 P3[6] GPIO
J9_06 P12[6] GPIO/UART_RX J8_06 P0[0] GPIO
J9_07 P12[7] GPIO/UART_TX J8_07 P0[1] GPIO