IPC pipes not working when program loaded with PSoC Programmer

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

cross mob
StNu_1610991
Level 4
Level 4
First comment on KBA 50 sign-ins 25 replies posted


We are using the CYBLE-416045-02 module and are experiencing problems when loading the code via the PSoC Programmer 3.29.1.  The application runs fine when loaded directly with PSoC Creator 4.4 but does not when loaded with the programmer.  The problem has been isolated to the IPC pipe messages not getting through to the CM4 processor.

The IPC example code in CE223820 was used to verify the problem.  The example was modified to use CYBLE as the target device and was compiled and run with Creator 4.4.  It worked properly.

Then, the hex file from the project was loaded with the PSoC Programmer.  It produced the initial lines in Tera term but then, when "1+2" was entered it just hung.

The programmer settings are 

Programmer: KitProg3 etc.

Programming Mode: Reset

Verification: on

Autodetection: on

Protocol: SWD

There must be some other settings or conditions that I am missing.  Any ideas?

0 Likes
1 Solution
StNu_1610991
Level 4
Level 4
First comment on KBA 50 sign-ins 25 replies posted

Finally, I was able to build  the CE230807 - PSoC 6 MCU: Dual-CPU IPC Pipes  hex file with Modus Toolbox and then load it with Cypress Programmer.  It then worked as intended without Modus.

However....  It took a lot of searching, guessing and blundering around to do it.  Without your comments, RodolfoGL, I am sure I would not have been able to get it done.  The documentation I think is very sparse and poor;  it seems to be oriented more toward experts talking to experts and not for first time users of the tools.   As an example, while I was trying to build the project I kept getting messages to run "make getlibs"  but noplace did it say where to run it let alone why.  Finally I found that if one right-clicks on the project, the library manager can be run and of course, I did not find a good description of what the library manager does.

I also did not know the existence of the "Cypress Programmer" and the PSoC Creator to Modus Toolbox porting guide does not even mention it.  There was no useful information on the Cypress Programmer itself but by experimenting, I eventually figured out how to use it.

View solution in original post

0 Likes
6 Replies
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

The original IPC code example designed with PSoC Creator leverages the System IPC channels, which might cause some conflicts with other system blocks that use IPC, like the BLE, CyFlash...

Are you able to reproduce this problem with the latest IPC code example from GitHub (you would need to use ModusToolbox)? The code is here:

https://github.com/Infineon/mtb-example-psoc6-dual-cpu-ipc-pipes

In the new version, we created a new set of IPC Channels to implement the pipes communication in the application.

0 Likes
StNu_1610991
Level 4
Level 4
First comment on KBA 50 sign-ins 25 replies posted

Thanks for the prompt reply.

I had hoped the solution did not involve moving to the ModusToolbox.  Except for a few issues, Creator 4.4 has been working pretty well for us.  Also, we had experimented moving to an earlier version of Modus and we had too many problems with it to count on it.  Our risk is how much time it would take to make the conversion and iron out problems that will likely come up.

Is there documentation for specifically moving from Creator 4.4 to the most recent ModusToolbox?  

Also, are there plans for updating the IPC and Em_EEPROM modules in the PDL library that would fix these problems.  If so, when would these upgrades be available?

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

We have this document to port a PSoC Creator project to ModusToolbox:

https://www.cypress.com/file/507591/download#:~:text=Migrate%20Pin%20Layout,both%20at%20the%20same%2....

If my suspicion is correct, the related problem is to the way the IPC pipes was setup in the application. We don't have plans to update the PSoC Creator IPC Pipes CE. But you can refer to the ModusToolbox IPC pipes CE and replicate the code to your PSoC Creator project.

I don't know which early version of ModusToolbox you used before, but the tool is way more stable now. 

0 Likes
lock attach
Attachments are accessible only for community members.
StNu_1610991
Level 4
Level 4
First comment on KBA 50 sign-ins 25 replies posted

I started the process of migrating to Modus Toolbox.  But, first I wanted to see if a hex from Modus can be loaded with the PSoC programmer.  The sample project CE230807 - PSoC 6 MCU: Dual-CPU IPC Pipes was loaded into Modus Toolbox and eventually after changing the target to CYBLE-416045-02 ran when loaded directly from Modus IDE.

The only hex file found in the project was cy_cm0p_image.hex.  The programmer then was activated and connected to CYBLE and the hex file was downloaded.  It did not work.  The attached file has details about the loading and what the programmer produced as output.

You've got to be kidding.  You don't even accept a simple .txt file!

 

0 Likes

When generating a HEX file with ModusToolbox, you need to use the Cypress Programmer tool. The HEX file is slightly different now, that's why you get errors with PSoC Programmer (designed to work with PSoC Creator).

To create the CM4 HEX file, you need to build the CM4 application in the IPC CE pipes code example (follow the CE doc instructions). Note that the HEX file created by building the CM4 app includes both, CM4 and CM0+ code.

0 Likes
StNu_1610991
Level 4
Level 4
First comment on KBA 50 sign-ins 25 replies posted

Finally, I was able to build  the CE230807 - PSoC 6 MCU: Dual-CPU IPC Pipes  hex file with Modus Toolbox and then load it with Cypress Programmer.  It then worked as intended without Modus.

However....  It took a lot of searching, guessing and blundering around to do it.  Without your comments, RodolfoGL, I am sure I would not have been able to get it done.  The documentation I think is very sparse and poor;  it seems to be oriented more toward experts talking to experts and not for first time users of the tools.   As an example, while I was trying to build the project I kept getting messages to run "make getlibs"  but noplace did it say where to run it let alone why.  Finally I found that if one right-clicks on the project, the library manager can be run and of course, I did not find a good description of what the library manager does.

I also did not know the existence of the "Cypress Programmer" and the PSoC Creator to Modus Toolbox porting guide does not even mention it.  There was no useful information on the Cypress Programmer itself but by experimenting, I eventually figured out how to use it.

0 Likes