Hi guys,
I am just beginning to work with PUFs and was looking at the SDK examples using PUF. I am working with the LPCXpresso55S69-EVK and MCUXpresso IDE. The example I am referring to is in driver_examples > puf.
I think the example wants to show all the different PUF functions and how they are used. But I stumbled upon the order of the functions, which is:
PUF_Init, PUF_Enroll, PUF_Deinit, PUF_Init, PUF_Start, etc.
Is there a particular reason why between PUF_Enroll and PUF_Start there is this additional PUF_Deinit/PUF_Init sequence? I would have guessed that one initialization at the beginning is enough and there is no need for a deinitialization followed by an initialization in between...
I have read the UM11126 and AN12324 and still do not understand why this is done in the example. Is it just to show the functionality of PUF_Deinit? Or is there a "deeper" reason behind it?
Best regards,
Ximena
Solved! Go to Solution.
Hi Ximena,
Hope you are doing well. After the PUF Enroll, the PUF must be power-cycled, and started by the PUF Start command. This is done with the sequence of PUF_Deinit and PUF_Init functions, or with the PUF_PowerCycle function. After that, you can use the PUF_Start function.
Best Regards,
Ricardo
Hi Ximena,
Hope you are doing well. After the PUF Enroll, the PUF must be power-cycled, and started by the PUF Start command. This is done with the sequence of PUF_Deinit and PUF_Init functions, or with the PUF_PowerCycle function. After that, you can use the PUF_Start function.
Best Regards,
Ricardo
Hi Ricardo,
thanks for your explanation! It is much clearer now!
All the best
Ximena