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

cross mob
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Yesterday, I visited a customer, who has been developing their product with PSoC 6 (CY8C6036BZI-F04).

Recently they got their prototype board.

They created a simple test program with ModusToolbox 1.1.0 Build ID 234.

And they programmed the board using Cypress Programmer 2.0.0 build 355 with MiniProg4.

Symptom

(S1) They could write their program to the device and their board worked as expected at the first test.

(S2) But they could not write their program for the 2nd time.

Trouble shooting(s)

(TS1) I asked them for basic checklist and their design seemed fine.

(TS2) I asked them to update Cypress Programmer to the newest version 2.1.0 but in vain.

And in the log file, I found

=================

Error: Failed to read memory at 0xe000ed00

Info : Polling target psoc6.cpu.cm0 failed, trying to reexamine

=================

It seems that the Cypress Programmer was trying to hold cm0 which does not exist in PSoC 6/60.

(I wonder why they could program at the first trial...?)

(TS3) And I tried to create a simple test program with ModusToolbox 2.0.0,

but it did not show CY8C6036BZI-F04 for custom board. (Actually Custom Board option was gone)

(TS4) As a last resort, I tried to create a test program with PSoC Creator v4.2.

And I could build and debug their board without problem.

(So their hardware seemed fine for the time being)

Meantime, I heard that a PSoC 6/60 may be obsoleted.

So we discussed that they should switch device to PSoC 6/61 (CY8C6136BZI-F14) which seems to be a drop-in compatible.

Now let me ask "Cypress" some questions.

Q1. Will ModusToolbox/Cypress Programmer support a single core PSoC 6/(60 and/or 61)?

Q2. Can we expect CY8C6136BZI-F14 as a drop-in compatible device with CY8C6036BZI-F04 ?

Q3. Is it safe to suggest the customer to use CY8C6136BZI-F14? (They need 10 years lifetime of their product line)

moto

0 Likes
1 Solution
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

It seems that the Cypress Programmer was trying to hold cm0 which does not exist in PSoC 6/60.

(I wonder why they could program at the first trial...?)

For devices that don't have the CM0 core, you need to disable the core in the OpenOCD configurations. In ModusToolbox, go to Run > Run Configurations... and under the options for "<Application name> Program" go to debugger tab and add the following line:

...

-c "source [find interface/kitprog3.cfg]"

-c "set ENABLE_CM0 0;

-c "source [find target/psoc6.cfg]"

...

After adding this line, it should work correctly. Let me know your observations.

(TS3) And I tried to create a simple test program with ModusToolbox 2.0.0,

but it did not show CY8C6036BZI-F04 for custom board. (Actually Custom Board option was gone)

Please note that MTB2.0 follows Board Support Package (BSP) flow. Refer to the User Guide for more information. To target PSoC60 devices in MTB 2.0, first create an application using any BSP that is close to your custom board. Once the application is created use the device configurator to target the device of your choice.

psoc60.png

Refer to the BSP User Guide to create your own Custom BSP, there is a section highlighting the steps. You will find it in the Documentation section under the Quick Panel.

Regarding the other questions, I'll check with marketing and get back to you.

Regards,

Dheeraj

View solution in original post

3 Replies
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

It seems that the Cypress Programmer was trying to hold cm0 which does not exist in PSoC 6/60.

(I wonder why they could program at the first trial...?)

For devices that don't have the CM0 core, you need to disable the core in the OpenOCD configurations. In ModusToolbox, go to Run > Run Configurations... and under the options for "<Application name> Program" go to debugger tab and add the following line:

...

-c "source [find interface/kitprog3.cfg]"

-c "set ENABLE_CM0 0;

-c "source [find target/psoc6.cfg]"

...

After adding this line, it should work correctly. Let me know your observations.

(TS3) And I tried to create a simple test program with ModusToolbox 2.0.0,

but it did not show CY8C6036BZI-F04 for custom board. (Actually Custom Board option was gone)

Please note that MTB2.0 follows Board Support Package (BSP) flow. Refer to the User Guide for more information. To target PSoC60 devices in MTB 2.0, first create an application using any BSP that is close to your custom board. Once the application is created use the device configurator to target the device of your choice.

psoc60.png

Refer to the BSP User Guide to create your own Custom BSP, there is a section highlighting the steps. You will find it in the Documentation section under the Quick Panel.

Regarding the other questions, I'll check with marketing and get back to you.

Regards,

Dheeraj

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear Dheeraj-san,

Thank you very much for your information!

But I'm afraid that we are in the Year End/New Year off in Japan,

it will be the second week of Jan. when I will be able to ask the customer to try what you taught us.

Anyway, Thank you very much for your response!

Best Regards,

30-Dec-2019

Motoo Tanaka

Hello Tanaka San,

No worries. You can update the thread after the holidays.

Happy New Year in advance. Enjoy your holidays!

Regards,
Dheeraj