器件型号: CC2745R10-Q1
CC2745 SDK (simplelink_lowpower_f3_SDK_9_14_02_16) 演示合并 basic_ble 和 aesecb 演示例程的功能、预期当蓝牙功能正常工作时、可以执行 AESECB 加密和解密。 将 aesecb 演示功能集成到 basic_ble 演示后、蓝牙功能可以正常连接和运行、但在执行 AES 加密操作时蓝牙连接会断开。 请帮助分析原因和解决方案。 谢谢。加密功能的代码如下
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号: CC2745R10-Q1
CC2745 SDK (simplelink_lowpower_f3_SDK_9_14_02_16) 演示合并 basic_ble 和 aesecb 演示例程的功能、预期当蓝牙功能正常工作时、可以执行 AESECB 加密和解密。 将 aesecb 演示功能集成到 basic_ble 演示后、蓝牙功能可以正常连接和运行、但在执行 AES 加密操作时蓝牙连接会断开。 请帮助分析原因和解决方案。 谢谢。加密功能的代码如下
您好、更正信息。 首先、我们将 aesecb 演示代码集成到 basic_ble 中、并且在运行 AESECB_open 函数时、直接导致了错误。 在线搜索后、据说 AES 硬件资源被 BLE 占用、因此我们从 SDK 中的第三方库 (source->third_party->PSA_crypto) 切换到 AES 代码。 集成后、加密功能正常运行、但在加密操作期间 BLE 连接断开、这是我上面提到的问题。 我希望这些信息有助于分析、谢谢。
我在 basic_ble 演示中创建了一个任务来运行 aesecb 演示加密函数。 AESECB_OPEN 函数是由演示调用的函数(如下图所示)。 调用 AESECB_open 函数时会发生错误、因此我放弃了 aesecb 演示中的代码、并使用了来自第三方库 (source->third_party->PSA_crypto) 的 AES 代码。 集成、编译和运行后、当通过移动应用连接到 BLE、然后调用 PSA_ciphe_encrypt 加密函数时、会使移动 BLE 连接断开连接、然后立即成功重新连接。 当前问题是如何解决调用 PSA_cipher_encrypt 进行加密时的断开连接问题、而不是 AESECB_OPEN 调用故障问题。 谢谢你。


您好、Zhang、
我知道您为了解决该错误而从 AESECB_OPEN 转投到 PSA_CRYPTO 库、但我的困惑在于您的问题的这一部分:
“通过移动应用连接到 BLE、然后调用 PSA_ciphe_encrypt 加密函数时、集成、编译和运行会导致移动 BLE 连接断开连接、然后立即成功重新连接。“
我想了解您在 BLE 栈应用中的哪个位置和何时调用此加密函数。 例如、您是在获得 BLE_connection_established 还是在其他地方调用它? 这将有助于我了解连接后的应用中加密操作实际发生的位置。 谢谢你。
Eshaan
您好、Eshaan Tibrewala:
我的测试还基于 SDK 中的 basic_ble 演示。 我不清楚何时以及在何处调用 BLE 栈应用中的加密函数。 我只从一些信息或咨询 AI 中知道、这是因为 BLE 通信调用 AES 资源、如果应用层也调用 AES 加密、则会抢占资源。 正是因为我不明白这部分、所以才寻求帮助。