Hello,
I encounter an infinite loop in my attempt to use Hashcrypt HW acceleration.
The Hashcrypt driver version is 2.2.17. The microcontroller get stuck at the line 679 in hashcrypt_sha_one_block() :
while (0U == (base->STATUS & HASHCRYPT_STATUS_WAITING_MASK))
{
//stuck here
}
Surprisingly, it appears to be stuck after 90 executions (our microcontroller manages to perform 89 times hashcrypt_sha_one_block without being stuck).
The main call is done by embedTLS ssl_tls.c file (see err.png).
Here is my current implementation of mbedtls_sha256_finish() (that I needed to implement by defining the SHA256_ALT when building mbedTLS v3.6.7
int mbedtls_sha256_finish(mbedtls_sha256_context *ctx,unsigned char *output)
{
status_t status;
status = HASHCRYPT_SHA_Finish(
HASHCRYPT,
(hashcrypt_hash_ctx_t *)ctx->hash,
output,
NULL);
return status;
}
Our code is bare metal, we don't have different processes.
Thank you very much for your help.
Regards,
Harold