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.

[参考译文] cc2640:图像 A 和图像 B 之间的通信

Guru**** 2562120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/586083/cc2640-communication-between-image-a-and-image-b

器件型号:CC2640

您好!

我想问一个问题。 是否可以在 IMAGE_A (OAD_TARGET_APP)和 IMAGE_B (SIMPLE 应用)之间进行通信? 因此、在使 IMAGE_B 无效之前、可以将其一些信息存储并移交给新的传入映像。

等待您的帮助

提前感谢。

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、mabbas、

    您可以将信息保留在 SNV 中、并且在图像 B 失效后、可以继续访问该信息。 您可以在我们 的 TI BLE 软件开发人员指南中找到有关 SNV 的更多信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 

    感谢你的帮助。 我尝试使用在 SNV 中写入数据。

    uint8 status = FAILURE、SNV_id_app = 0x80;
    uint8 data[]={0x34、0xAF、0xA2};
    for (uint8 idx =0;idx <sizeof(data);idx++)   {
    
    status = osal_SNV_write (SNV_id_app、sizeof (uint8)、&data[idx]);
    SNV_id_app++;
    } 

    并使用进行读取  

    uint8 status =故障;
    uint8 SNV_id_app = 0x80、read_data[]={0};
    for (uint8 idx =0;idx<10;idx++)
    {
    status = osal_SNV_read (SNV_id_app、sizeof (uint8)、&read_data[idx+];
    snv_app
    } 

    我使用 simple_peripheral_app_em 对其进行了测试 、它工作正常。 我可以进行写入和读取。 但在 simple_peripheral_LP (image_B)上、它返回 STATUS=2、并且不写入/读取正确的值。 我只是尝试使用 I-Jet 对其进行调试、但没有执行任何 OAD。

    simple_peripheral_LP (image_B)是否有任何特定设置?  

    正在等待您的回复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好

    我找到了问题。 栈中的 OSAL_SNV=0禁用 SNV。 当我将其更改为1或2时、会显示以下错误。

    无法在[0x00009050-0x0000FFF]>(总未提交空间0x6fb0)中为总估算最小大小为0x8b49字节(最大对齐0x4)的段/块分配空间。

    我还阅读了您的主题、其中发现了相同的问题。

    https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/557958/2049476#2049476


    您能告诉我如何修复 SNV 与 ON_CHIP_OAD 的使用吗?

    等待您的帮助。

    非常感谢。