1 Reply Latest reply on Apr 28, 2020 10:03 PM by DheerajK_81

    Possible to program multiple PSoC5 simultaneously with Miniprog3 ?


      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


        • 1. Re: Possible to program multiple PSoC5 simultaneously with Miniprog3 ?

          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