Bug with Hashcrypt on LPC55S06

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Bug with Hashcrypt on LPC55S06

90 次查看
s_hdl
Contributor I

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

0 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2416367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC55S06%20%E4%B8%8A%E7%9A%84%20Hashcrypt%20%E5%AD%98%E5%9C%A8%E6%BC%8F%E6%B4%9E%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2416367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%E6%88%91%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20Hashcrypt%20%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E6%97%B6%E9%81%87%E5%88%B0%E4%BA%86%E6%97%A0%E9%99%90%E5%BE%AA%E7%8E%AF%E3%80%82%3CBR%20%2F%3EHashcrypt%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%89%88%E6%9C%AC%E4%B8%BA%3CSPAN%3E2.2.17%E3%80%82%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8%E5%8D%A1%E5%9C%A8%3CSTRONG%3Ehashcrypt_sha_one_block%3C%2FSTRONG%3E%20()%20%E5%87%BD%E6%95%B0%E7%9A%84%E7%AC%AC%20679%20%E8%A1%8C%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSTRONG%3Ewhile%3C%2FSTRONG%3E%3C%2FSPAN%3E%20(0U%20%3D%3D%20(base-%26gt%3BSTATUS%20%26amp%3B%20HASHCRYPT_STATUS_WAITING_MASK))%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%2F%2F%E5%8D%A1%E5%9C%A8%E8%BF%99%E9%87%8C%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%E4%BB%A4%E4%BA%BA%E6%83%8A%E8%AE%B6%E7%9A%84%E6%98%AF%EF%BC%8C%E5%AE%83%E5%9C%A8%E6%89%A7%E8%A1%8C%2090%20%E6%AC%A1%E5%90%8E%E4%BC%BC%E4%B9%8E%E5%B0%B1%E5%8D%A1%E4%BD%8F%E4%BA%86%EF%BC%88%E6%88%91%E4%BB%AC%E7%9A%84%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8%E8%83%BD%E5%A4%9F%E6%89%A7%E8%A1%8C%2089%20%E6%AC%A1%3CSPAN%3E%3CSTRONG%3Ehashcrypt_sha_one_block%3C%2FSTRONG%3E%E8%80%8C%E4%B8%8D%E4%BC%9A%E5%8D%A1%E4%BD%8F%EF%BC%89%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E4%B8%BB%E8%A6%81%E8%B0%83%E7%94%A8%E7%94%B1%20embedTLS%20ssl_tls.c%20%E5%AE%8C%E6%88%90%E3%80%82%E6%96%87%E4%BB%B6%EF%BC%88%E5%8F%82%E8%A7%81%20err.png%EF%BC%89%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E8%BF%99%E6%98%AF%E6%88%91%E7%9B%AE%E5%89%8D%E5%AF%B9%20mbedtls_sha256_finish()%20%E7%9A%84%E5%AE%9E%E7%8E%B0%EF%BC%88%E5%9C%A8%E6%9E%84%E5%BB%BA%20mbedTLS%20v3.6.7%20%E6%97%B6%EF%BC%8C%E6%88%91%E9%9C%80%E8%A6%81%E9%80%9A%E8%BF%87%E5%AE%9A%E4%B9%89%20SHA256_ALT%20%E6%9D%A5%E5%AE%9E%E7%8E%B0%E5%AE%83%EF%BC%89%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Eint%3C%2FSPAN%3E%20%3CSPAN%3Embedtls_sha256_finish%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3Embedtls_sha256_context%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%20%3CSPAN%3Ectx%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%20%3CSPAN%3Eunsigned%3C%2FSPAN%3E%20%3CSPAN%3Echar%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%20%3CSPAN%3Eoutput%3C%2FSPAN%3E%20%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Estatus_t%3C%2FSPAN%3E%3CSPAN%3E%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EHASHCRYPT_SHA_Finish%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EHASHCRYPT%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3Ehashcrypt_hash_ctx_t%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%20%3CSPAN%3E)%3C%2FSPAN%3E%20%3CSPAN%3Ectx%3C%2FSPAN%3E%20%3CSPAN%3E-%26gt%3B%3C%2FSPAN%3E%20%3CSPAN%3Ehash%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E8%BE%93%E5%87%BA%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%97%A0%E6%95%88%E7%9A%84%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E8%BF%94%E5%9B%9E%3C%2FSPAN%3E%3CSPAN%3E%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E6%98%AF%E8%A3%B8%E6%9C%BA%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%B2%A1%E6%9C%89%E4%B8%8D%E5%90%8C%E7%9A%84%E6%B5%81%E7%A8%8B%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%AE%E5%8A%A9%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%93%88%E7%BD%97%E5%BE%B7%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E