I'm trying to automate loading of firmware on a device via SWD. In order to do so, I'm running the CLI tool from a Windows CMD prompt. Everything starts fine but when I try to "Program" the device I get this error:
"Device is not in ISSP mode"
I try to set the device to program via SWD (SetProtocol 😎 but this does not seem to work. Is there some kind of trick I need to use to get this to work? The process works fine from the PSoC Programmer UI. When I try to script the process using the "runfile" command rather than typing into the CMD prompt I get the same error.
EDIT: This is with PSoC Programmer 3.24.4
Welcome in the forum, rob.
Although I do not know if it will cure your issue, I would recommend to update to Creator 3.3 CP3 which is the actual latest version. Do not forget to update your project's components as well.
Can you send us the series of commands and the output for the commands that you executed before performing "Program" command.
Recently I encountered the same problem. I cannot acquire device (PSoC4) in SWD mode with neither Miniprog3 or KitProg. Additionally for Miniprog3 I have to choose a different type of connector. I use a 5-pin connector. But to power up the processor I have to use the "SetProtocolConnector 1" command, despite the fact that psoc_programmer_cli.pdf says that for SWD mode parameters are
0 - 5-pin connector
1 - 10-pin connector
With GUI applications all is programmed correctly with the Miniprog3 or KitProg
version <version 3.25.0 1 OK GetPorts <MiniProg3/1443DD00051D KitProg/0F20083201324400 0 OK OpenPort MiniProg3/1443DD00051D . < 0 OK GetProgrammerCapabilities <0x0007-0x0007-0x0001-0x0002-0x002f-0x000f 0 OK SetProtocol 8 < 0 OK SetAcquireMode Reset < 0 OK PowerOn < 0 OK SetPowerVoltage 3.3 < 0 OK SetProtocolConnector 1 < 0 OK Acquire E Device is not in ISSP mode. Acquire returned 80004005 80004005 OK quit <OK <OK
version <version 3.25.0 1 OK GetPorts <MiniProg3/1443DD00051D KitProg/0F20083201324400 0 OK OpenPort KitProg/0F20083201324400 . < 0 OK GetProgrammerCapabilities <0x0001-0x0006-0x0001-0x0000-0x000c-0x0000 0 OK SetProtocol 8 < 1 OK Acquire E Device is not in ISSP mode. Acquire returned 80004005 80004005 OK quit <OK <OK
Is there a solution to this issue because I see the same when programing with the Psoc GUI there is no problem but thru CLI interface the programmer always return: Device is not in ISSP mode
have you checked if your SWD lines are high by default? You may have to add a pullup resistor on swdclk and swdio. I am not certain what values of resistor to use but ARM suggests 100k ohms.