工具与软件:
器件: CC1352P1F3
SDK:simplelink_cc13x2_26x2_SDK_3_40_00_02
我们看到、有时当 MCU 调用 AESGCM_oneStepDecrypt 或 AESGCM_oneStepEncrypt 时、CPU 会进入无限循环、直到硬件 WDG 位于 MCU。
在良好的流程中、我们看到了以下内容:
1. MCU 调用 AESGCM_oneStepDecrypt 或 AESGCM_oneStepEncrypt
2. TI 驱动程序调用 AESGCM_startOperation
3.此函数到达最后一行、即 AESGCM_waitForResult
4. 调用 AESGCM_hwiFxn (object->operationInProgress WAS) 对 调用时)
5. AESGCM_hwiFxn 发布信号量、以便调用加密 API 退出阻止模式并运行的任务
在糟糕的情形中、我们看到了以下内容:
1. MCU 调用 AESGCM_oneStepDecrypt 或 AESGCM_oneStepEncrypt
2. TI 驱动程序调用 AESGCM_startOperation
3.这个函数到达此行 AESStartDMAOperation(operation->aad, operation->aadlength, NULL, 0 );
4. 调用 AESGCM_hwiFxn (object->operationInProgress WAS) 错 调用时)
5. AESGCM_startOperation 在 AESGCM_hwiFxn 完成后继续、 并到达 AESGCM_waitForResult 行、进入无限循环而不释放 CPU。 此函数定义为 ROM_AESWaitForIRQFlags。
可以在汇编中看到、这是到同一地址0x1002'fa10的无限循环
我们认为原因是 AESGCM_hwiFxn 清除 IRQ 标志
AESIntClear (AES_RESULT_RDY | AES_DMA_IN_DONE | AES_DMA_BUS_ERR);
同时 AESWaitForIRQFlags 等待 IRQ 标志
AESWaitForIRQFlags (AES_DMA_IN_DONE | AES_DMA_BUS_ERR);
我们不知道是什么导致了这个错误流。
我们需要帮助来了解我们所做的错误是否会导致 TI 驱动程序中出现此不良流程。
或者这是 TI 新 SDK 上已修复的错误吗?
或别的什么东西吗?
提前感谢。