Hi,
Environment
Board: LPC55s69
SDK version: 2.12.0
SW: MCUXPresso IDE
I was trying to exploit ECDSA sign/verify functions in secure memory, so I ported "lpcxpresso55s69_mbedtls_benchmark" project in SDK 2.12.0 to my TZ project.
I found that when I use those functions in applications in secure world, it was always stuck in 'hashcrypt_sha_finalize' or 'hashcrypt_sha_process_message_data' functions, specifically in this while loop,
while (0U == (base->STATUS & HASHCRYPT_STATUS_DIGEST_MASK))
{
}
The status here was set to 5 when I tried in secure world, but it was 3 when I tried in normal work, where the code worked fine.
To clarify why this happens, I changed the MEMADDR where the message was given to any non-secure RAM and it worked well, which probably means that this is not the configuration issue, but the hardware/software bug using secure RAM.
// base->MEMADDR = HASHCRYPT_MEMADDR_BASE(message);
base->MEMADDR = 0x2001bd4c;
Would anybody help me to figure this out in more detail?
Here is the original question I posted a few days before.
https://community.nxp.com/t5/LPC-Microcontrollers/Question-about-Hashcrypt-in-LPC55S69/m-p/1586892#M...
Thanks!