3.3.5 Programming and Debugging Interface Disable (PDID)

The ICSPDIS Configuration bit allows the user to completely disable the ICSP interface. The device is permanently locked down from ICSP access. Although the device can no longer be accessed through the ICSP interface, the memory regions of the device can still be accessed using the internal NVM interface. This feature is intended to make the device one-time programmable through the ICSP interface for security applications. Once ICSPDIS is enabled, it is not possible for a device executing in Debug mode to erase/write Flash, nor can a debug tool switch the device to Production mode. Therefore, the ICSPDIS bit should be only enabled on devices programmed for production. Setting the ICSPDIS Configuration bit, through the ICSP interface, requires a specific sequence that is described below(1).
CAUTION:
  • Once the ICSPDIS bit is enabled, this bit cannot be disabled (even through a Bulk Erase operation) and the ICSP interface is completely disabled. It is recommended to contact Microchip for more information regarding the use of this feature.
  • Use extreme caution with the ICSPDIS bit when using Microchip Technology's Quick Turn Programming (QTP) or Serialized Quick Turn Programming (SQTP) services. Devices that have had this Configuration bit enabled will permanently have their programming and debugging interface disabled, meaning that it will no longer be possible for those devices to be reprogrammed or erased ever again and will have extremely limited FA capability.
Important:
  1. Setting the ICSPDIS Configuration bit through the ICSP interface requires the following sequence:
    1. Send Program Access Enable Command with appropriate payload. For more information on the Program Access Enable Command, refer to the Program Access Enable section.
    2. Send Program Data Command to write to the ICSPDIS bit. For more information on the Program Data Command, refer to the Program Data section.