We have a system involving an ADuCM350 which we are trying to lock so the flash contents can't be read through the JTAG. We would like to make sure that it can be unlocked again using the UART but that this way of unlocking should also erase the flash contents so that this can be used to enable reflashing through the JTAG but not allow for reading the flash. We are unsure about the steps and would therefore like to ask if we are on the right track here.
These are the steps we think that we should follow:
* Sometime before entering the main loop we lock the JTAG by writing 0 to bit 0 of FEECON1.
* We already have a system for making the ADu react to commands received over the UART. Our plan is to add an erase-and-unlock command, upon receiving this some function should be called which writes 1 to bit 0 of FEECON1 to ensure the device is unlocked and then uses adi_FEE_MassErase() to erase the flash contents (here we are unsure if it would actually be necessary to first write to bit 0 of FEECON1, does anyone know if erashing the flash will cause this bit to be 1 and therefore enable JTAG again?)
We would like to ask if this looks like a reasonable way of achieving the goal of protecting the ADu flash contents? Might there be any flaws that we haven't considered?
moved and updated form
[edited by: GenevaCooper at 2:04 PM (GMT -4) on 19 Sep 2023]