I'm quite new to ARM and I.MX RT1060 mcu but I already got familiar with MCU EXpresso.
I'm working with an MIMXRT1062CVL5A and I need a UniqueID to bind to it the license system for my company.
I found the OCOTP register which has OTP Bank0 Word1 (CFG0) and OTP Bank0 Word2 (CFG1) with probably the UniqueID.
1)Including <MIMXRT1062.h> in my code I can read them simply using
uuid1 = OCOTP->CFG0;
uuid2 = OCOTP->CFG1;
Is this correct or should I do it in another way?
2) Is possible to have a more specific explanation of the values in CFG0 ---- CFG7 fields of OCOTP? I mean, usually some bytes in the hwID reflect the Manufacturer, CPU family, etc.... since we could also check for exact MCU family before proceeding with the licensing subsystem, I'd need how to extract that info.
In the reference manual of the MCU there's nothing about that.
3) We are providing the licensing system as a static library, while the final user will always have the possibility to write its custom firmware.
I see that OCOTP CFG0 and CFG1 areas are R/W. So a user can alter them by writing its own values on them?
If so, those fields are unuseful for us (since a user can always rewrite them with the same ID for every board and use the same licence key, bypassing our licencing policies), then what other Unique ID can I use to be sure the ID is unique and not modifiable by user?
Thank you and best regards.