Yes, this is for the LPC55S69, version 1B silicon - sorry I forgot that information before!
Please see my code, attached below. The commented portion is the recommended way to do Flash reads, but this section of code no longer works when PRINCE is enabled. Before I enabled PRINCE, I had this commented block inside the "else if" where the memcpy now lives.
status_t status = FLASH_VerifyErase(&flash_instance, addr, PflashPageSize);
if(status == kStatus_Success)
{
memset(data, 0xFF, len);
return len;
}
else if(status == kStatus_FLASH_CommandFailure)
{
memcpy(data, (void*)addr, len);
}
else
{
return -1;
}
// status = FLASH_Read(&flash_instance, addr, data, len);
//
// if(status == kStatus_FLASH_EccError)
// {
// memset(data, 0xFF, len);
// return len;
// }
// else if(status != kStatus_Success)
// {
// return -1;
// }