Firstly, please make sure you are using the latest version of PSoC Programmer v3.28. If you don't have it, please download it here, and check if you are able to get it to work. A restart might be required.
Secondly, please perform a quick check if you are generating the hex file in PSoC Creator for the right device. Right click on Project > Device selector to select the right device.
Please copy all the lines from the log window and attach it here to provide us with more information about the behavior.
From PSoC Programmer, showing correct version 3.28:
Installed CyInstaller Products:
Bridge Control Panel 220.127.116.1154
Clock Programmer 18.104.22.16854
Device Database 4154
Example Code 4154
PSoC Programmer 22.214.171.12454
USB Bootloader Application 4154
From PSoC Creator (abbreviated capture)
PSoC Creator 4.2 (126.96.36.1991)
Culture: English (United States)
OS Version: Microsoft Windows NT 10.0.16299.0
CLR Version: 4.0.30319.42000
Installed CyInstaller Products:
Peripheral Driver Library 2.1.0
Peripheral Driver Library 3.0.1
Peripheral Driver Library 3.0.3
Peripheral Driver Library 3.0.4
PSoC Programmer 3.28.0
PSoC Creator 4.0 Update 1
PSoC Creator 4.2
I confirmed on the launcher, stack, and app projects the correct "LQI" device target. I also confirmed the LQI was in the cydsfit command line for all three:
cydsfit.exe -.appdatapath "C:\Users\IEUser\AppData\Local\Cypress Semiconductor\PSoC Creator\4.2" -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -.fdsreffile=referenced_files.txt -p D:\fw-sim-c-ble-app.cydsn\fw-sim-c-ble-app.cyprj -d CY8C4128LQI-BL543 -s D:\fw-sim-c-ble-app.cydsn\Generated_Source\PSoC4 -- -yv2 -q10 -yga -o2 -v3 -.fftcfgtype=LE
cydsfit.exe -.appdatapath "C:\Users\IEUser\AppData\Local\Cypress Semiconductor\PSoC Creator\4.2" -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -.fdsreffile=referenced_files.txt -p D:\fw-sim-c-ble-stack.cydsn\fw-sim-c-ble-stack.cyprj -d CY8C4128LQI-BL543 -s D:\fw-sim-c-ble-stack.cydsn\Generated_Source\PSoC4 -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE
cydsfit.exe -.appdatapath "C:\Users\IEUser\AppData\Local\Cypress Semiconductor\PSoC Creator\4.2" -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -.fdsreffile=referenced_files.txt -p D:\fw-sim-c-ble-launcher.cydsn\fw-sim-c-ble-launcher.cyprj -d CY8C4128LQI-BL543 -s D:\fw-sim-c-ble-launcher.cydsn\Generated_Source\PSoC4 -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE
Programming attempt on PSoC Creator shows correct hex image (LQI) and wrong device (FNI) detected
Programming device 'PSoC 4100 BLE CY8C4128FNI-BL563' with file 'D:\fw-sim-c-ble-app.cydsn\CortexM0\ARM_GCC_541\Debug\fw-sim-c-ble-app.hex'.
Programming CY8C4128LQI-BL543 image into CY8C4128FNI-BL563 device.
Device ID Check
Failed to erase the flash
FAILED! EraseAll operation failed!
Error: dbg.M0023: There was an error while programming the device: PSoC Programmer reported error (100 - FAILED! EraseAll operation failed!)
Programming attempt on PSoC Programmer gives similar warning:
Program Finished at 8:46:46 AM |
| Programming Terminated
ERROR! ---> | The hex file does not match with the acquired device, please check the device
Device set to CY8C4128FNI-BL563 at 8:46:45 AM | 262144 FLASH bytes
Device Family set to CY8C4xxx-BLE at 8:46:45 AM |
| Automatically Detected Device: CY8C4128FNI-BL563
| Silicon: 1A02, Family: AA, Major/Minor Rev: AC
Program Requested at 8:46:45 AM |
Active HEX file set at 8:46:43 AM | D:\fw-sim-c-ble-app.cydsn\CortexM0\ARM_GCC_541\Debug\fw-sim-c-ble-app.hex
Successfully Connected to KitProg/BLE121F18DD02197400 at 8:46:30 AM | KitProg Version 2.21
Opening Port at 8:46:30 AM
And lastly, it turns out we did have a MiniProg3 on hand after all, so without changing anything after the failure shown above for PSoC Programmer, I simply disconnected the target cable from the KitProg and moved it to the MiniProg and ran it again... same hex file, same everything else... and it programmed the target JUST FINE, though it complained (erroneously, I think) about target power. I confirmed the new firmware was actually loaded by observing its operation (it returned a new version number from its interface to my system).
Program Finished at 8:48:22 AM |
| Programming Succeeded
| Doing Checksum
| Doing Protect
| Verifying of Flash Succeeded
| Verifying of Flash Starting...
| Programming of Flash Succeeded
| > Transfer rate: 7.80 KB/sec. 155136 bytes transferred (606 blocks x 256 bytes) in 19427 ms
| Programming of Flash Starting...
| Erase Succeeded
Device set to CY8C4128LQI-BL543 at 8:47:47 AM | 262144 FLASH bytes
Device Family set to CY8C4xxx-BLE at 8:47:47 AM |
| Automatically Detected Device: CY8C4128LQI-BL543
| Silicon: 1A06, Family: AA, Major/Minor Rev: AC
WARNING! | Device isn't powered! Apply power to target board to acquire it in "Reset" mode!
Program Requested at 8:47:46 AM |
Successfully Connected to MiniProg3/1803CA000460 at 8:47:34 AM | MiniProg3 version 2.05 [3.11/2.10]
Also, it programmed just fine (no warnings at all) from PSoC Creator through the MiniProg3.
Programming device 'PSoC 4100 BLE CY8C4128LQI-BL543' with file 'D:\fw-sim-c-ble-app.cydsn\CortexM0\ARM_GCC_541\Debug\fw-sim-c-ble-app.hex'.
Device ID Check
Programming of Flash Starting...
Device 'PSoC 4100 BLE CY8C4128LQI-BL543' was successfully programmed at 01/15/2019 09:09:46.
From this I conclude that the image is obviously correct and the problem is limited to the KitProg in terms of it recognizing the target device hardware.
The MPN CY8C4128LQI-BL543 is not a Cypress developed kit and is provided only as a chip for custom hardware designs. Kitprog is an onboard programmer/debugger and supports only Cypress developed kits.
It will not work (may, but no guarantee) with any custom hardware or Cypress Kits customized for different MPN.
In summary, Kitprog might have problems, with one such being that it is unable to recognize the target properly since it is not a Cypress Developed Kit.
Please proceed to use Miniprog3 for programming/debugging.