Cypress Programmer User Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Cypress Programmer 2.

GUI User Guide


Document No.: 002-25230 Rev. *A

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

2 Installing CYP 2.0 ........................................................................................................................... 8


Package Contents ..................................................................................................................... 8
System Prerequisites ................................................................................................................. 8
Installing on Windows ................................................................................................................ 8
Installing on Ubuntu ................................................................................................................... 9
Installing on macOS .................................................................................................................. 9

3 Getting Started ............................................................................................................................. 10


Run CYP 2.0 ............................................................................................................................ 10
Connect Device ....................................................................................................................... 11
Load Programming File ........................................................................................................... 12
Program Device ....................................................................................................................... 13
Save Log File ........................................................................................................................... 13

4 GUI Description ............................................................................................................................ 14


Menus ...................................................................................................................................... 14
File .................................................................................................................................... 14
View................................................................................................................................... 15
Options .............................................................................................................................. 15
Help ................................................................................................................................... 15
Toolbar ..................................................................................................................................... 16
Probe/Platforms ................................................................................................................ 16
Power ................................................................................................................................ 16
Connect ............................................................................................................................. 16
Settings ............................................................................................................................. 16

5 Programming Operations ............................................................................................................ 18


Erase Device ........................................................................................................................... 18
Program Device ....................................................................................................................... 19

Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 3
Contents

Program Device and Reset Chip ............................................................................................. 20


Program Binary File with Offset ............................................................................................... 21
Program External Memory....................................................................................................... 22
Verify Device ............................................................................................................................ 23
Verify Device with External Memory ........................................................................................ 24
Read Device ............................................................................................................................ 25

6 Upgrading Firmware .................................................................................................................... 27


Upgrade KitProg2 Firmware .................................................................................................... 27
Upgrade KitProg3 or MiniProg4 Firmware .............................................................................. 28

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

Acronyms and Abbreviations


The following table lists various acronyms and abbreviations used in this document along with the
associated descriptions.
Term Description
AP Access Port register of Arm® Cortex® CPU. Used for programming and debugging, along
with the corresponding SWD address bit selections.
CMSIS Arm® Cortex® Microcontroller Software Interface Standard.
CMSIS-DAP CMSIS Debug Access Port utilizing the USB HID protocol.
CMSIS-DAP2 CMSIS Debug Access Port utilizing the USB bulk protocol. Much faster than CMSIS_DAP.
CMSIS-DFP CMSIS Device Family Pack. It includes the CMSIS system/start file, Drivers, Flash
kernel/loader, and so on.
Config-File The information file for setting up the options of the Flash kernel/loader.
CYP Cypress Programmer.
Data File The data file for programming in the hex or binary format
DP The Debug Port register of the Arm Cortex CPU. Used for programming and debugging,
along with the corresponding SWD-address bit selections.
Flash algorithm The Flash type and Flash controller-specific algorithm configured with parameters to program
a specific Flash memory on a particular MCU. The example parameters are: Flash banks,
the number of sectors, or the sector size.
Flash kernel/loader The firmware file loaded into the MCU’s RAM. Sometimes referred to as RAM program,
Flash kernel, Flash loader.
FLD Flash Loader Database.
GDB GNU Project Debugger – GNU.org.
GDB / MI MI (Machine Interface) to the GDB. The MI defines a set of functionalities from a standard
debug-run control and breakpoints up to advanced features for debugging.
Hex-File The binary information file described in the ASCII text form. It includes the Intel HEX format
and Motorola HEX (SREC) format.
JTAG Joint Test Action Group. Specifies the use of a dedicated debug port while implementing a
serial communication interface for low-overhead access without requiring direct external
access to the system address and data buses.
Main Flash Part of the internal flash of a Traveo or Traveo II MCU used for program code and consistent
application data.
MCU Microcontroller Unit.
MPN Marketing Part Number is a specific branding applied to a die. There is a marketing part
number associated with a specific device. This number is used to order a device or find
information about a device from Cypress, for example, CY8C616FMI-BL603, CY8C616FMI-
BL673.
PSoC Programmable System-on-Chip is a family of microcontroller integrated circuits by Cypress.
These chips include a CPU core and mixed-signal arrays of configurable integrated analog
and digital peripherals.
PSVD Pre-Silicon Validation Platform. One or more circuit boards in a configuration that allow using
programmable logic to start validation of a new silicon device before device fabrication.
Region Logical areas within the target device the programmer operates on.
SWD Serial Wire Debug interface.
UDD Universal Devices Data Base is a database for Cypress MCUs that contains information
about MCU core, Memory size, Package, Pin Count, MPN, Unique ID, etc. It currently does
not include information on MCU-internal memories.
Work Flash Part of the internal flash of a Traveo or Traveo II MCU used for EEPROM emulation

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

CYP 2.0 is supported on the following platforms:


 Windows 7 (x86)
 Windows 8.1 (x64)
 Windows 10 (x64)
 MAC OS X 10.13
 Ubuntu 16.04 LTS (x64)

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

Run CYP 2.0


To run the CYP 2.0 application, navigate to the install location and run the executable. See Installing CYP
2.0. The GUI opens similar to the following:

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.

Load Programming File


The Open button is available if a kit or probe device is selected in the Probe drop-down.

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.

Save Log File


1. Right-click in the Log section and select Save As.

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

 Recent Files – Lists up to five recently loaded programming files.


 Exit (Alt+F4) – Closes the CYP 2.0 application.

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:

 Automatically – The firmware is updated automatically when the tool opens.


 Show Pop-up – A dialog displays asking if you want to upgrade the firmware.
 Ignore – The firmware is not updated and no prompt displays.
 Upgrade Firmware (Alt+U) – When this command is enabled, select it to upgrade the
programmer firmware on the device.

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

Program Device and Reset Chip


1. Connect to the device (see Connect Device).
2. Select the programming file as described in the Load Programming File section.
3. Select the Reset Chip check box under Program Settings.
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.

The target device is reset and running.

Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 20
Programming Operations

Program Binary File with Offset


1. Connect to the device (see Connect Device).
2. Select the binary programming file as described in the Load Programming File section.
3. Enter the desired address in the Offset field under Program Settings.
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 21
Programming Operations

Program External Memory


1. Select the External Memory option under Probe Settings.

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

Verify Device with External Memory


1. Select the External Memory option under Probe Settings.

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.

Upgrade KitProg2 Firmware


The following upgrade process is based on the CY8CKIT-062-WIFI-BT hardware.
1. Run the CYP 2.0 application.
2. Go to Options > Programmer Options and select the Show Pop-Up value for the Upgrade
Firmware option.

3. Click OK to apply the changes.


4. Connect the device with the KitProg2 firmware to the host PC. Ensure that the KitProg2 device is
in Native KP2 mode.
5. If LED2 is off, press the SW3 (Mode Select) button and hold it for about 1 second. When LED2 is
on, the device is ready for upgrading the firmware.

Cypress Programmer 2.0 GUI User Guide, Document No.: 002-25230 Rev. *A 27
Upgrading Firmware

A warning dialog displays with the “Firmware is Out of Date” message.

6. Click the Upgrade Firmware button to start the upgrade process.

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.

Upgrade KitProg3 or MiniProg4 Firmware


Follow this process to upgrade KitProg3 or MiniProg4 firmware:
1. Run the CYP 2.0 application.
2. As needed, go to Options > Programmer Options and select the Show Pop-Up value for the
Upgrade Firmware option.
3. Connect the KitProg3/MiniProg4 device to the host PC. A warning dialog with the “Firmware is
Out of Date” message displays.

4. Click the Upgrade Firmware button to start the upgrade process.

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

You might also like