I'm having trouble figuring out how to properly access the UUID on the LPC55S69. The MCUX SDK documentation seems woefully incomplete.
Most sources suggest that the way to access it is with FFR_GetUUID(). The "IAP_FFR Driver" has absolutely no explanation - as far as I can tell, it's not documented anywhere what FFR even stands for. Is it the same as "PFR"? If so, why isn't it explained somewhere? Does FFR_Init() need to be called? Why does FFR_Init() have no documentation?
If I try to use FLASH_Init() in my application, I get a hardfault. The only difference I can see between my code and the IAP example provided is that the example is running from the 96 MHz FRO. It looks like there may be some undocumented dependency there - FLASH_Init() is hardcoded to set the frequency to 96 MHz:
/* Initialize the clock to 96MHz */
config->modeConfig.sysFreqInMHz = (uint32_t)kSysToFlashFreq_defaultInMHz;
I can't verify this because modeConfig isn't documented - the entry in the manual is completely blank. The datasheet does say that flash erase/read/program isn't available at > 100 MHz. Does that apply to the UUID as well? Do I need to start up with a different clock configuration to be able to read it?
The datasheet also says that the UUID is accessible starting at address 0x9fc70. Is it safe to access it directly? Is the location different across different silicon versions?
Thanks,
Scott