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

cross mob
wistc_299286
Level 3
Level 3
10 replies posted 10 sign-ins First solution authored

I'm looking to design a PCB production board for high volume where we have multiple PSOC6 devices that need their initial firmware programmed in addition to some other tests. 

Can I have a shared SWD bus and only program one device at a time by having individual separate XRES pins to each device that I can use as a "select" to indicate which device I want to to program?

 

In this scenario assume that the other PSOC 6 devices that aren't being targeted would be left powered on steady state and would see the SWD bus. If anyone has some experience with this I would love hear it, as I don't want any unintended side affects.

I'm also debating a more complicated design where the SWD bus is still shared but each PSOC 6 is powered off by a host controller and then turned on only for programming.  Any help will be greatly appreciated. 

0 Likes
1 Solution
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @wistc_299286 ,

Apologies for the delay on this but this thread was missed.

>> Can I have a shared SWD bus and only program one device at a time by having individual separate XRES pins to each device that I can use as a "select" to indicate which device I want to to program?

The XRES pin is  not related to the ARM standard. It is used to reset the part as a first step in the programming flow.

AlenAn14_0-1649051512253.png

Please refer to the PSoC 6 programming specification for more details on this.

Hence you will have to control the specific XRES pin from the host programmer correspondingly for the device you wish to program to start the programming procedure.


>>I'm also debating a more complicated design where the SWD bus is still shared but each PSOC 6 is powered off by a host controller and then turned on only for programming.  Any help will be greatly appreciated. 

This will work as the device powered by the host programmer will be the one that will be acquired as the remaining devices will be powered off.

Hope this helps.
Warm Regards
Alen

View solution in original post

0 Likes
1 Reply
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @wistc_299286 ,

Apologies for the delay on this but this thread was missed.

>> Can I have a shared SWD bus and only program one device at a time by having individual separate XRES pins to each device that I can use as a "select" to indicate which device I want to to program?

The XRES pin is  not related to the ARM standard. It is used to reset the part as a first step in the programming flow.

AlenAn14_0-1649051512253.png

Please refer to the PSoC 6 programming specification for more details on this.

Hence you will have to control the specific XRES pin from the host programmer correspondingly for the device you wish to program to start the programming procedure.


>>I'm also debating a more complicated design where the SWD bus is still shared but each PSOC 6 is powered off by a host controller and then turned on only for programming.  Any help will be greatly appreciated. 

This will work as the device powered by the host programmer will be the one that will be acquired as the remaining devices will be powered off.

Hope this helps.
Warm Regards
Alen

0 Likes