Flash Protection and "Enable Device Protection"

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

cross mob
daloc_1304421
Level 3
Level 3
First like received First like given

Hello,

we have several PSoCs in a JTAG-chain and there is also a bootloader in the firmware.

We want the flash of the bootloader and the actual firmware application to be read protected. We already set the flash security setting to "F-Factory Upgrade" for the complete flash for basic security. I have the following problem:

When compiling the following warning pops up:

"One or more rows of flash have been configured to be read protected; however, debugging has been enabled in the System DWR Editor. This means that the read protected flash rows can still be read via SWD or JTAG. To protect these rows of flash, disable debugging in the System DWR Editor."

In the "System" tab there is the following note under "Enable Device Protection":

"... This setting is recommended for production programming of non-JTAG chained applications."

In the PSoC Creator Help for the "System" tab it reads:

"...It is not recommended to enable it for multi-device JTAG chains, since it may break the chain.

Note This setting does not affect flash protection. It is only used to disable debug access to the PSoC 3 or PSoC 5LP device."

The first warning says the flash not protected without the "Enable Device Protection" setting, but last one says it is protected and it would also break our JTAG chain.

What is actually correct and what is the best way to handle this scenario?

Best regards,

David

0 Likes
1 Solution
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

JTAG may not work if Enable Device Protection = ON, since it blocks access to DAP (debug-accessport) of Cortex-M3 CPU. Via this port external probe gets access to all internal register/resources of the device. It is not recommended to enable device protection for multi-device JTAG chains, since it may break the chain.

View solution in original post

0 Likes
4 Replies
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

JTAG may not work if Enable Device Protection = ON, since it blocks access to DAP (debug-accessport) of Cortex-M3 CPU. Via this port external probe gets access to all internal register/resources of the device. It is not recommended to enable device protection for multi-device JTAG chains, since it may break the chain.

0 Likes

So in other words, there is no flash read-protection for JTAG chains?? So we would have to use SWD for every single PSoC?

0 Likes

Yes, Enable Device Protection feature may break the JTAG chain.

0 Likes

I'm curious, is the unablility to have any kind of flash protection with JTAG an issue with JTAG itself, the PSOC 5 or the Cortex M5? Because I'm sure there are many use cases where a JTAG-chain requires flash protection....

0 Likes