Cypress Programmer User Guide
Cypress Programmer User Guide
Cypress Programmer User Guide
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
http://www.cypress.com
Copyrights
Copyrights
© Cypress Semiconductor Corporation, 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 referenced 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 specifically 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 organization, and (b) to distribute the Software in
binary code form externally to end users (either directly or indirectly through resellers 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 PURPOSE. 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 purposes. 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
authorized 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 surgical 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, ModusToolbox, 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 respective owners.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 2
Contents
1 Introduction .................................................................................................................................... 5
Overview .................................................................................................................................... 5
Features..................................................................................................................................... 5
Acronyms and Abbreviations ..................................................................................................... 6
Document Convention ............................................................................................................... 7
Revision History ......................................................................................................................... 7
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 3
Contents
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 4
1 Introduction
Overview
Cypress Programmer (CYP) 2.0 is a stand-alone flash programmer tool. It replaces several existing flash
programmers for various Cypress devices for Automotive, MCU, and connectivity devices. CYP 2.0
provides a graphical user interface to perform Program, Erase, Verify, and Read operations on the flash of
the target device.
Features
CYP 2.0 supports the following:
Programming all Cypress MCUs’ internal and external memories
PSoC 6 corresponding starter kits and evaluation boards
WICED Wi-Fi/BT platforms (4390x, 4343W, STM324xx and others) corresponding starter kits and
evaluation boards
Connectivity devices via support of development boards
Windows, Linux, and macOS
Programming external memory devices using PSoC 6 external memory interfaces (EBI / QSPI)
Programming external memory of WICED Wi-Fi devices
New KitProg3 and MiniProg4 hardware
SEGGER J-Link Base and J-Link Ultra hardware
OpenOCD via GDB/MI interface to 3rd party debug hardware, IAR, Keil, SEGGER
Cross-platform Bridge library – I2C, SPI, UART communications
KitProg and MiniProg firmware update
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 5
Introduction
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 6
Introduction
Document Convention
This guide uses the following conventions:
Convention Usage
Courier New Displays file locations and source code:
C:\ …cd\icc\, user entered text
Italics Displays file names and reference documentation:
sourcefile.hex
[bracketed, bold] Displays keyboard commands in procedures:
[Enter] or [Ctrl] [C]
File > New Project Represents menu paths:
File > New Project > Clone
Bold Displays commands, menu paths and selections, and icon names in procedures:
Click the Debugger icon, and then click Next.
Text in gray boxes Displays cautions or functionality unique to the software or the device.
Revision History
Document Title: Cypress Programmer 2.0 GUI User Guide
Document Number: 002-25230
Revision Date Description of Change
** 9/28/18 New document.
*A 10/30/18 Updates for Production milestone:
• Various screen captures
• Description of the Platforms pull-down menu
• Description of the Clock option in Probe Settings
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 7
2 Installing CYP 2.0
Package Contents
The CYP 2.0 package contains:
CypGui executable – The application to program flash of various Cypress devices
The drivers and firmware for Cypress MiniProg4, KitProg2, KitProg3 hardware programmers
The OpenOCD debugger tool that provides on-chip programming support
The cross-platform library that provides access to USB devices.
System Prerequisites
Cypress recommends the following minimum system configuration:
PassMark CPU score > 2000 (cpubenchmark.net)
Minimum of 4 GB RAM
Minimum 50 MB free disk space
Minimum 1280x1024 screen resolution
Installing on Windows
1. Run the Windows installer program: CyProgrammer_2.0.0.<build>.exe
2. Follow the instructions of the installation wizard.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 8
Installing CYP 2.0
Installing on Ubuntu
1. Open a command-line terminal.
2. Unpack the Cypress Programmer installation archive. Run:
tar -xvzf CyProgrammer_2.0.0.<build>.tar.gz
3. Install the rules for the connected programming hardware Miniprog3, Kitprog2.
The script install_rules.sh script copies the file 57-cypress_programmer.rules file to
/etc/udev/rules.d. It allows a non-superuser to have access to the connected devices:
a. Change directory to <cyp_install_dir>/openocd/udev_rules.
b. Run:
./install_rules.sh.
Installing on macOS
1. Run the pkg installer for the CYP - CyProgrammer_2.0.0.xxxx.pkg.
2. Follow the instructions on the installation wizard.
3. Under System Preferences > Security & Privacy > General, choose to Allow the ‘System
software from developer “Cypress Semiconductor” was blocked from loading.’
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 9
3 Getting Started
In this case, no kit or device is connected, and a message displays asking you to connect a device.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 10
Getting Started
Connect Device
1. Connect the host computer to a device, and CYP 2.0 will display information under Probe
Settings (if the Settings section is viewable).
2. If the device is not powered, the status message “Not Powered” is displayed in the Status Bar.
Click Power to power up the device.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 11
Getting Started
3. Click Connect. CYP 2.0 communicates with the device, and displays various messages under
Log. Then, a message in the Status Bar indicates that it is connected.
Click Open. On the Open Programming File dialog, navigate to the location of the hex, srec, elf, or bin
file to load, select it, and click Open.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 12
Getting Started
Program Device
Click Program. CYP 2.0 downloads the program onto the device and displays messages under Log.
2. On the Save Logs to File dialog, navigate to the location to save the file, type the file name, and
click Save.
3. Note You can also select the Select All command to select the text, then copy and paste the text
to the file you selected.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 13
4 GUI Description
CYP 2.0 contains menus and toolbar commands to perform actions. This chapter describes the various
GUI elements.
Menus
File
The File menu contains the following commands:
Open (Ctrl+O) – Opens the programming file.
Connect/Disconnect (Alt+Q) – Connects and disconnects the selected device.
Program (Alt+G) – Programs the selected device with the selected file.
Erase (Alt+E) – Erases the selected device.
Read (Alt+R) – Opens the HEX or SREC file to read its contents. (Only HEX is currently
supported).
Verify (Alt+Y) – Verifies that the selected device is programmed correctly.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 14
GUI Description
View
The View menu contains the Settings check box. Select it to view the Settings section of the window;
unselect it to hide the Settings section. See Settings.
Options
The Options menu contains the following commands:
Programmer Options (Alt+T) – Opens the Programmer Options dialog to set the Upgrade
Firmware options:
Help
The Help menu contains the following commands:
View Help (F1) – Provides access to this document.
About Cypress Programmer – Opens the About box.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 15
GUI Description
Toolbar
The toolbar contains the Open, Connect, Erase, Program, Read, and Verify commands, which are also
located on the File menu. This area also contains the following:
Probe/Platforms
If you have more than one device connected to your computer, use these pull-down menus to select the
specific probe and target platform to use.
Power
Use the Power button to power on and off the selected device.
Connect
Use the Connect button to connect to and disconnect from the selected device.
Settings
The Settings section of the tool allows you to update the program and probe settings as follows:
Program Settings
File – Use this to select the programming file to perform actions on or with.
Offset – This is an optional offset parameter; it can be an integer or hexadecimal value. The
relocation offset is added to the base address for each section in the image when the image is
programmed. This option is visible only if a binary or elf file is selected for programming
operations.
Reset Chip – Use this to reset the chip after the Program operation completes. This option resets
the target chip and runs the programmed firmware on it.
Probe Settings
The Probe settings allow you to configure the programming and target device before you connect to it.
These settings are available when CYP is not connected to the device.
Interface – To select the hardware (debug) interface for communication with the target device.
The possible values include: SWD and JTAG if supported by the device.
Voltage (V) –To select the power supply voltage of the target device in Volts. This option is
available only if the selected probe has the power control capability.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 16
GUI Description
Clock (KHz) – To select the frequency of the hardware interface in KHz. This option is available
only if the selected probe supports configurable frequencies.
Reset Type – Specifies the type of the Reset Chip operation. The possible values include: Soft
and XRES:
Soft is a software reset type that sends the system reset request to the ARM core.
XRES is a hardware reset type that toggles the XRES hardware line.
External Memory – Enables/disables the programming of external memory in the target device.
For PSoC 6 devices, this option enables programming of the QSPI regions. This is also used for
programming external memory of WICED Wi-Fi devices: BCM943438WCD, CYW943012EVB,
CYW943455EVB, BCM943362WCD4, NEB1DX_01 and others.
Program Security Data – Allows programming security regions if the target device supports this
capability. For example, for PSoC 6 devices, this option enables programming the Efuse region.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 17
5 Programming Operations
Erase Device
1. Connect to the device (see Connect Device).
2. Click the Erase button.
CYP 2.0 performs the erase device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was erased successfully or that an error occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 18
Programming Operations
Program Device
1. Connect to the device (see Connect Device).
2. Select the programming file as described in Load Programming File section.
3. Click the Program button.
CYP 2.0 performs the program device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that device was programmed successfully or that an error occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 19
Programming Operations
CYP 2.0 performs the program device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was programmed successfully or that an error
occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 20
Programming Operations
CYP 2.0 performs the program device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was programmed successfully or that an error
occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 21
Programming Operations
2. Connect a device that supports external memory (for example, CY8CKIT-062-WiFi-BT with QSPI
support). See Connect Device.
3. Select the programming file as described in the Load Programming File section. The
programming file should have external memory region(s).
4. Click the Program button.
CYP 2.0 performs the program device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was programmed successfully or that an error
occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 22
Programming Operations
Verify Device
1. Connect the device (see Connect Device).
2. Select the programming file as described in the Load Programming File section.
3. Click the Verify button.
CYP 2.0 performs the Verify device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was verified successfully or that an error occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 23
Programming Operations
2. Connect a device that supports external memory (for example, CY8CKIT-062-WiFi-BT with QSPI
support). See Connect Device.
3. Select the programming file as described in the Load Programming File section. The
programming file should have external memory region(s).
4. Click the Verify button.
CYP 2.0 performs the verify device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was verified successfully or that an error occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 24
Programming Operations
Read Device
1. Connect the device (see Connect Device).
2. Select the programming file as described in the Load Programming File section.
3. Click the Read button.
4. On the Read Device to File dialog, navigate to the location of the HEX or SREC file to be saved,
enter the file name, select the file type in the Save as type drop-down, and click Save.
Note Under Ubuntu Linux, specify the full file name with an extension (e.g. kp3-dev.srec); otherwise, the
file will be saved in HEX format.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 25
Programming Operations
CYP 2.0 performs the Read device operation and displays various messages under Log. Then, a
message in the Status Bar indicates that the device was read successfully or that an error occurred.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 26
6 Upgrading Firmware
The CYP 2.0 application allows you to upgrade KitProg2, KitProg3, and MiniProg4 device firmware.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 27
Upgrading Firmware
After the upgrade process completes, the message “Firmware of ‘KitProg2-xx' upgraded successfully”
displays in the Log view. The KitProg2-xx device disappears from the Probe drop-down. The Probe drop-
down is populated with the names of the supported KitProg3 Kits.
After the upgrade process completes, the message “Firmware of ‘KitProg3-xx' upgraded successfully” or
“Firmware of ‘MiniProg4 xx' upgraded successfully” displays in the Log view.
Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 28