FW-loader is a cross-platform command line tool you can use to upgrade the KitProg3 FW on Cypress kits or MiniProg4. Download the latest release which includes KitProg3 v2.30.XXXX.
There is a package for each of the following operating systems:
From the release page, download and unzip the appropriate zip archive for your OS. You can put the tool in any convenient location. ModusToolbox™ 2.0 or newer release installs this tool also, but on the GitHub repo you can find always the latest release.
After installing, open a command window in the tool's bin directory, and follow the instructions below.
On Linux OS, run the udev_rules\install_rules.sh script before the first run of the FW-loader.
On the Catalina version of macOS and later, you may see a dialog what Apple cannot check this package for malicious software. If this happens, please follow instructions from Apple.
--help (or no arguments) - Displays the list of supported commands with their descriptions.
--device-list – Displays the list of connected devices.
--update-kp3 [device-name] – Update the firmware of the specified device to KitProg3.
--update-kp2 [device-name] – Downgrades the firmware of the specified device to KitProg2.
--mode [device-name] – Switches KitProg3 mode of the specific device. Supported modes are: 'kp3-hid', 'kp3-bulk', 'kp3-bootloader', 'kp3-daplink'. On Windows hosts ‘kp3-bulk’ mode cannot support simultaneous I2C/SPI bridging (e.g. for CapSense tuning) - switch to ‘kp3-hid’ instead.
--info [device-name] – Displays the device information. Device information is displayed only for KitProg3 devices which support KitProg3 Unique ID Record.
If you have only one device attached, the [device-name] is optional. Where a device name is required, use the device name from the "--device-list" command. To update firmware of all the connected KitProg3 devices use 'all' specifier.
Mode switching in KitProg3
Push the mode switch button on the kit to switch modes. If a kit does not support DAPLink mode, the mode switch has no effect.
In addition, the CY8CKIT-062S2-43012 kit supports a special operating mode that allows for two UART connections, rather than a single UART plus bridging (e.g. USB-I2C or USB-SPI).
You cannot enter UARTx2 if the kit is in DAPLink mode. When the kit is in CMSIS-DAP Bulk or HID mode, press and hold the mode switch for at least two seconds. In this mode the amber LED blinks at 2 Hz. To exit, press and hold the mode switch for at least two seconds. You return to CMSIS-DAP bulk mode.
KitProg2 supports two modes: Proprietary and CMSIS DAP. Only the Proprietary mode supports the bootloader. You must be in Proprietary mode for KitProg2 to be visible to the FW-loader. Use the Mode Switch button to switch KitProg2 to Proprietary mode.
For KitProg3, the Mode Switch (SW3) button switches between CMSIS DAP bulk and DAPLink modes. You can use the command line to get into a legacy mode, CMSIS DAP using HID end points.
MiniProg4 does not support KitProg2 firmware. The following symptoms show that KitProg2 firmware is installed on MiniProg4:
The device is detected as MiniProg4 but does not operate.
Errors are observed while performing the --device-list command:
Error = Timeout of Response read for the "0x90" command. The number of attempts = 2.
Error = Out Endpoint is not found.
If the KitProg2 firmware is installed on MiniProg4 - switch the device to Bootloader mode to restore the device functionality:
- unplug MiniProg4 from the USB
- while pressing the Mode Select button on the kit, plug in the USB cable
- the Mode LED blinks to indicate the kit is in Bootloader mode
- release the button
Perform the "--update-kp3" command as described above.
FW-Loader uses some Open Source packages. FOSS Packages are located on the https://www.cypress.com/documentation/software-and-drivers/modustoolbox-foss-packages