Blown eFUSEs and disabling reading

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Blown eFUSEs and disabling reading

2,159 Views
mjbcswitzerland
Specialist V

HI All

I have a question about blown eFUSEs.
They are described as 'intact' when '0' and as 'blown' when '1'. Does this mean that if some setting is set by blowing the eFUSE it can never be removed again? (that is, fuses can be blown once and not set back to the intact state?)

There are however not just switch settings but also values - eg. MAC address; if a MAC address of 00-00-00-00-00-01 were to be programmed will it later be possible to change it to 00-00-00-00-00-03 (blowing a second bit?`)

If a setting has been block that disables something, will this be disabled forever? eg. blowing SJC_DISABLE would disable JTAG so that JTAG/SWD debugging would never be possible again?

Finally, is it possible to disable eFUSE values being read back externally? Eg. possibly SDP_READ_DISABLE ?

Thanks in advance

Regards

Mark

Labels (4)
Tags (1)
0 Kudos
4 Replies

1,937 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hi Mark, 

They are described as 'intact' when '0' and as 'blown' when '1'. Does this mean that if some setting is set by blowing the eFUSE it can never be removed again? (that is, fuses can be blown once and not set back to the intact state?)

Yes, once you burn the eFUSE it cannot be undone. 

There are however not just switch settings but also values - eg. MAC address; if a MAC address of 00-00-00-00-00-01 were to be programmed will it later be possible to change it to 00-00-00-00-00-03 (blowing a second bit?`)

The same principle applies for all the eFUSEs, once you burned one FUSE that particular fuse cannot return to the initial state. 

If a setting has been block that disables something, will this be disabled forever? eg. blowing SJC_DISABLE would disable JTAG so that JTAG/SWD debugging would never be possible again?

Yes, if a fuse affects directly a setting and you burn it, it will remain that way forever. 

Finally, is it possible to disable eFUSE values being read back externally? Eg. possibly SDP_READ_DISABLE ?

Just to be sure that I understood this question correctly, do you mean if there's a way to prevent external reading of the fuses? If so, please check section 23.4.1.2 of the RT150 RM. 

Regards, 

Victor 

0 Kudos

1,937 Views
mjbcswitzerland
Specialist V

Victor

>>Just to be sure that I understood this question correctly, do you mean if there's a way to prevent external reading of the fuses?

Yes, I am looking at storing sensitive data in the eFUSE area. I have seen that some security values can be protected also from read back by the processor, and also it suggests that serial reading can be blocked or serial connection altogether.

As you have confirmed, testing such things will not allow the setting to be removed again, meaning that I am presently reluctant to do much practical tests with the risk of making EVBs unusable and am first trying to understand as accurately as possible to theoretically complete the designs.

Regards

Mark

0 Kudos

1,937 Views
mjbcswitzerland
Specialist V

Victor

One thing that prompted me to ask about whether eFUSE settings are maybe reversible in some situations is the setting (ref. i.MX RT 10160) 0x460[[3] DIR_BT_DIS (Direct External Memory Boot Disable).
The reasons being that a new chips has this fuse blown, which means that this setting can never be changed to its other value.
There are also a few other such bits that are pre-blown:
- USB_VBUS_EVENT_HANDLER_EN
- SD_CALIBRATION_STEP

Presumably these suit the ROM-Loader and were set like this using production since the must be so (and there would be no reason to want to change them).

Is this correct?

Regards

Mark

0 Kudos

1,937 Views
victorjimenez
NXP TechSupport
NXP TechSupport

Hi Mark, 

Yes, I am looking at storing sensitive data in the eFUSE area. I have seen that some security values can be protected also from read back by the processor, and also it suggests that serial reading can be blocked or serial connection altogether.

Thanks for the additional information. Yes, you can prevent the reading of the Fuse, this is done through the fuse lock bits. These bits are shown in Table 22-8 of the RT1050 RM. Burning these fuses will prevent that someone could read the values of the fuses through the shadow registers. Additional to that you could also deactivate the serial downloader mode, this will prevent that someone could read the fuse map when in serial downloader mode. 

Presumably these suit the ROM-Loader and were set like this using production since the must be so (and there would be no reason to want to change them).

Is this correct?

Yes, this is correct. It's not possible to reverse any fuse state once it's burned. 

Regards, 

Victor 

0 Kudos