Can you please post a screenshot of error.
If you just do "Erase All" using MiniProg3 on PSoC Programmer, are you subsequently getting error then programming with Cyclone Image
Unfortunately all the Cyclone programmer reports is error #3003, its datasheet says "$3003: Program operation failed or was canceled". I tried running PROGACMP and it doesn't report any failures until I verify module.
I tried "Erase All" suggestion on a board that has been working with cyclone and I am still able to write to it after.
The MiniProg3 first performs an XRES on the device before acquiring and prior to programming. If you maintain the same SWD connection, and able to assert an reset state before acquiring or programming, then you may find that it can connect intially with cyclone too.
Cyclone has a explicit setting for this that reads "Drive RESET signal LOW before and after SAP operations." I have tried this multiple times and haven't had any luck.
I am guessing this is not something the PSoC needs the first time it is programmed and not the following times, because the programming works the next time on.
Speaking to PEMicro folks (who make Cyclone programmers) it seems they suspect ECC to be enabled by default on new boards that is causing this problem.
Is there a way to verify if MiniProg3 explicitly disables this every time it is burning and image?
I think this thread answers what are you asking:
if 'Store configuration data in ECC memory' in systems tab is true, device configuration data will be stored in ECC memory to reduce main FLASH memory usage. Error correction may not be used when this option is enabled.
Flash configuration data is stored at flash location 0x8000 0000
Unfortunately, that did not work for me either. I tried disabling 'Store configuration data in ECC memory' with and without RESET before and after SAP operation and had no luck.
I need you to follow these steps and share your observation after that:
1) Take (never programmed before) PSoC 5LP chip
2) Do only "erase all" operation to that using MiniProg3+ PSoC Programmer3.27
3) After successful erase all operation as instructed in step#02, try to program that PSoC5LP chip using Cyclone Fx Programmer
I tried what you recommended. Erase All on a new board with miniProg3+PSoc programmer 3.27.1. Here is the output from the programmer:
EraseAll Finished at 10:59:33 AM | | EraseAll Succeeded Device set to CY8C5868AXI-LP035 at 10:59:33 AM | 262144 FLASH bytes Device Family set to CY8C5xxxLP at 10:59:33 AM | | Automatically Detected Device: CY8C5868AXI-LP035 WARNING! | Power off external power of the device to acquire it in "Power Cycle" mode or select "Reset" mode! EraseAll Requested at 10:59:23 AM |
I tried programming with the Cyclone FX programmer and unfortunately, still get the same error. This image had the "Store Configuration Data in ECC memory" disabled and the "Drive RESET signal LOW" enabled. I verified performing the same process on a previous used PSoC board works as expected.
I consulted internally, You need to consult with the PEmicro for the issue.
The possible root cause of the issue may be:
- The tool can’t acquire chip in test mode (Step 1 from programming steps).That is the most likely the root of the issue if out of the factory DPS = GPIO or Debug_En = OFF (bits in custom NVL).
- The tool are not doing chip initialization correctly (Step 2)
3. The tool doesn’t do Erase All operation (Step 4).
All the above root cause relate to the tool used for programming, so PEmicro can help in this issue
I have been in touch with PEmicro technical support as well. Will make sure to pass this information along.
Thank you for all the helpful insights.