Issue with AN84858 - programming Psoc4 with another MCU

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
FaRe_3083706
Level 1
Level 1

Hello,

I can't program a Psoc4 microcontroller (CY8C4014LQI-422) with a different MCU (different from Cypress). I followed the Application notes AN84858 but I can't "Acquire the device": I receive 0x07 value on "swd_PacketAck" in about 3msec after start (I mean, the program fails on "Read_IO (TEST_MODE, &status);" but, for example, if I use a slower clock (12MHz) I receive the same error in a previous step.. always after about 3 msec from reset.

I wrote same code with same clock using a board with Psoc4-BLE as a programmer and everithing is working fine, I can re-progam my microcontroller.. this is a mistery for me.. I wanted to know if samething happens on Psoc4 after 3 msec since reset pin go high?

Thanks in advance,

Fabri

0 Likes
1 Solution
BiBi_1928986
Level 7
Level 7
First comment on blog 500 replies posted 250 replies posted

Hello.

The programming of PSoC 4000 family is detailed in the following document:

https://www.cypress.com/documentation/programming-specifications/cy8c4xxx-cyblxxxx-programming-speci...

The timing and commands across SWD can be executed by any CPU (with appropriate software) to program PSoC 4000.  The main problem designers run into, is RESET timing.  Study that section of the document carefully and you should be successful to Acquire the chip.

Good luck with your project.

View solution in original post

4 Replies
BiBi_1928986
Level 7
Level 7
First comment on blog 500 replies posted 250 replies posted

Hello.

The programming of PSoC 4000 family is detailed in the following document:

https://www.cypress.com/documentation/programming-specifications/cy8c4xxx-cyblxxxx-programming-speci...

The timing and commands across SWD can be executed by any CPU (with appropriate software) to program PSoC 4000.  The main problem designers run into, is RESET timing.  Study that section of the document carefully and you should be successful to Acquire the chip.

Good luck with your project.

Hi FaRe_3083706​,

Adding to BiBi_1928986​'s response, referring to this thread might add insight into the issue that you are facing - errors when programming CYBLE-012011-00 via SWD from external MCU with 001-84858_AN84858

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

Thanky you all for the answers and the documentation!

I found that the API from the other MCU for toggle pins was very "general" but this way the time necessary to put the pin high or low was 900usec.. It means about 1MHz!

I wrote different functions ( sda_hi(), sda_lo(), sck_hi() and sck_lo() ) writing directly the registers (without using API) and now everithing is working well!

Thanks again!

0 Likes

Hi FaRe_3083706​,

Thank you for providing an update regarding the issue

Best Regards,

Rakshith

Thanks and Regards,
Rakshith M B
0 Likes