cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

HuEl_264296
New Contributor II

I have a PCB with five PSoC5s on it. This means I have to have five programming connectors, and to program them all, I need to plug into each connector in turn.

Is it possible some way to program all five devices using only one connector? Perhaps I could just connect all the XRST, SWDIO and SWDCLK pins all together? Or is there some way to chain them?

Many thanks

Hugo

0 Likes
1 Solution
DheerajK_81
Moderator
Moderator

SWD protocol does not support programming multiple devices at a time. You can have an external multiplexer on the programming lines if multiples devices are to be programmed using same connector.

On the software side, you can make use of PSoC Programmer COM APIs (PPCOM) to create an application to program all the devices in a serial fashion, one after the other. Please find the basic example C# application at this path: "C:\Program Files (x86)\Cypress\Programmer\Examples\Programming\PSoC3_5\SWD\C_Sharp"

Please find the application code for programming multiple devices attached in the following thread: Cannot program 2 chips simultaneously using Miniprog 3

The application creates a number of threads each running a COM instance which connects to the MiniProg3 and performs the programming. Now, even though these threads run parallely, when any thread is performing the time critical programming operation, if it is interrupted by any other thread due to context switch, the operation fails.

Hence parallel programming is not possible, but the code programs all the devices as fast as possible using mutex locks for the time critical operation.

Another option is to make use of programmers from any of our device system partners which support gang programming. You can find the list here: https://www.cypress.com/products/device-programmer-system-partners

Hope this helps

Regards,

Dheeraj

View solution in original post

0 Likes
1 Reply
DheerajK_81
Moderator
Moderator

SWD protocol does not support programming multiple devices at a time. You can have an external multiplexer on the programming lines if multiples devices are to be programmed using same connector.

On the software side, you can make use of PSoC Programmer COM APIs (PPCOM) to create an application to program all the devices in a serial fashion, one after the other. Please find the basic example C# application at this path: "C:\Program Files (x86)\Cypress\Programmer\Examples\Programming\PSoC3_5\SWD\C_Sharp"

Please find the application code for programming multiple devices attached in the following thread: Cannot program 2 chips simultaneously using Miniprog 3

The application creates a number of threads each running a COM instance which connects to the MiniProg3 and performs the programming. Now, even though these threads run parallely, when any thread is performing the time critical programming operation, if it is interrupted by any other thread due to context switch, the operation fails.

Hence parallel programming is not possible, but the code programs all the devices as fast as possible using mutex locks for the time critical operation.

Another option is to make use of programmers from any of our device system partners which support gang programming. You can find the list here: https://www.cypress.com/products/device-programmer-system-partners

Hope this helps

Regards,

Dheeraj

View solution in original post

0 Likes