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.

[参考译文] CC2340R2:CC2340R5→CC2340R22 迁移:BLE 广播失败、点击 iCall_abort ()

Guru**** 2866220 points

Other Parts Discussed in Thread: CC2340R5, SYSCONFIG, CC2340R2

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1628029/cc2340r2-cc2340r5-cc2340r22-migration-ble-advertising-fails-hitting-icall_abort

器件型号: CC2340R2
主题中讨论的其他器件: CC2340R5SysConfig

我正在努力从迁移 BLE 项目 CC2340R5 最终目的 CC2340R22 使用了 SimpleLink 低功耗 F3 SDK 、遵循官方移植指南。


迁移后、BLE 就是 不做广告 、以及在中调试期间 Code Composer Studio 、执行转至:

 

iCall_abort()

   易失性 uint8_t j = 1;

   while (j);

}


我迄今所做的工作:

  • 遵循了迁移指南的分步操作
  • 已在 SysConfig 中将器件切换到 CC2340R22
  • 排除了 cc23x0r2.cmd 并使用了原始链接器文件
  • 调整了 FreeRTOS 堆大小
  • 禁用了一些 BLE 功能以减少内存
  • 采用最小配置进行了测试(仅限外设角色)


可疑原因:

看起来像一个 与 GAP 绑定管理器或 BLE 栈初始化相关的存储器/配置问题 、尤其是因为与 CC2340R5 相比、CC2340R22 降低了 RAM。

 

问题:

  1. 如果内存不足、BLEAppUtil_initGapBond() 期间的 iCall_ABORT() 是否应该?
  2. 什么是 所需的最低配置 适用于 CC2340R22 上的 BLE 外设?
  3. 成功迁移是否需要特定的 SysConfig 设置?
  4. 是否有任何在 iCall_abort () 之前调试确切失败原因的建议方法?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Mohit、

    感谢您联系我们! 我相信我在旧版 SDK 上也遇到了类似的问题、我相当确定它已在后续的 SDK 中修复。 您能分享一下您的 SDK 版本吗?

    此致、

    Tarek D

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

    SimpleLink 低功耗 F3 SDK 9.14.02.16

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

    嗨、Mohit、

    我懂了。 我将尝试在我的最后复制这个,并让你知道我找到了什么。

    此致、

    Tarek D

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

    嗨、Mohit、

    我只是进一步研究这一点,并尝试了它在我的最后,我的道歉的延误。 我能够按照 我们的用户指南中的迁移指南使其正常工作。

    但是、在重新阅读您的回复后、我相信您的问题是您可能已经遵循了 R21 迁移指南而不是 R22。 R22 器件与 R5 器件具有相同的 RAM、因此无需修改堆。  

    我从 R5 迁移到 R2 所采取的步骤如下:

    • 转到器件视图并将器件切换为“CC2340R22"</s>“
    • 将 NVS 区域基址更改为“0x3C000"</s>“

    希望这能回答您的问题。

    此致、

    Tarek D

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

    您好、

    感谢您的回复、并在您的最后进行了检查

    我已经按照迁移指南中提到的步骤操作:

    • 已将设备切换至 CC2340R5 上的 CC2340R22
    • 将 NVS 区域基址更新为 0x3C000

    但是、我仍然面临着相同的问题、BLE 广播无法按预期工作。

    您能否告诉我、R22 是否需要进行任何其他配置更改(例如,在 SysConfig,链接器设置或无线电配置中)?

    另外、如果您希望我分享我的项目以供进一步分析、请告诉我。

    期待您的指导。

    此致、
    Mohit

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

    嗨、Mohit、

    这当然是意料之外的行为。 您使用的是开箱即用示例、还是对代码进行了修改? 如果您正在使用自定义工程、开箱即用示例是否可行?

    此致、

    Tarek D

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

    尊敬的 Tarek D:

    否、我没有使用开箱即用示例或修改了任何现有代码。 我正在使用 basic_ble 程序并选择 CC2340R5 LaunchPad 通信 CCS - TI Arm Clang 编译器

    关于 CC2340R5 到 CC2340R22 移植指南、我想确认是否需要遵循标题部分 “片外 OAD 和 MCUBoot 示例的其他步骤。“

    如果需要执行这些步骤、我认为指南中的编译后处理说明不清楚。 在我的当前工程中、编译后处理步骤如下:

    ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/tools/common/crc_tool/crc_tool patch-image ---elf ${BuildArtifactFileBaseName}.out -symbol-prefix ti_utils_build_GenMap_sym_crc_CCFG -o ${BuildArtifactFileBaseName}.out
    ${CG_TOOL_ROOT}/bin/tiarmobjcopy -O ihex ${BuildArtifactFileBaseName}.out ${BuildArtifactFileBaseName}.hex

    这些似乎与指南中提到的内容不同、我不确定如何正确对齐。

    您能否说明一下对于我的案例是否需要这些额外步骤、如果是、应如何更新编译后处理配置?

    此致、
    Mohit

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

    尊敬的 Tarek D:
    您能否分享您在终端所用的具体示例? 对我来说、尝试同样的方法会很有帮助。

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

    嗨、Mohit、

    这是我使用的十六进制文件。 我刚刚按照迁移指南中详细介绍的相同步骤进行了操作。 仅当您移植 OAD 示例时、才需要额外步骤来实现片外 OAD。

    作为一个测试,你可以尝试:

    1. 直接从 SDK 移植 basic_ble 示例并打开 syscfg 文件
    2. 将电路板视图中的电路板更改为 CC2340R22(如下面的屏幕截图所示)


    3. 转到“Storage Interfaces“内的 NVS 部分、将区域基址更改为 0x3C000

    请让我知道这是否适合您!

    此致、

    Tarek D

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

    尊敬的

    我按照建议遵循所有内容:

    • basic_ble从 SDK 移植示例
    • 将 SysConfig 中的电路板更改为 CC2340R22
    • 将 NVS 区域基址更新为 0x3C000

    但是、这个问题仍然存在、而且在我这边没有工作

    由于目前这阻碍了我的进步、我非常感谢您帮助我尽早解决这一问题。 此外、您能否分享在您这边工作的确切示例/工程(以及任何特定的配置更改)、我还想知道具体是哪一项 .cmd 发送器控制文件。 这将帮助我验证和比较我的设置。

    提前感谢您的支持。

    此致、

    Mohit

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

    嗨、Mohit、

    下面是一个包含该工程的 zip 文件、以及关联的十六进制文件(十六进制文件可在发布文件夹中找到): e2e.ti.com/.../6560.basic_5F00_ble_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang.zip

    如果您以与 LaunchPad 不同的方式在定制电路板上配置了 GPIO、则此操作可能无法正常工作。 在这种情况下、您需要在 SysConfig 中的电路板视图内进行必要的更改。

    很抱歉这里出现了延迟。 我一定会尽快回答您可能遇到的任何其他问题。

    此致、
    Tarek D

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

    尊敬的 Terek D:

    感谢您分享该项目并提供支持。

    我尝试了提供的basic_ble_LP_EM_CC2340R5_freertos_ticlang.zip工程以及发布文件夹中的十六进制文件、但遗憾的是、它在我这边仍然无法正常工作


    此外、很抱歉之前未提及这一点、我的评估板使用了 24MHz 晶体 。 您能否分享一个工作示例或专门用于 24MHz 设置的所需配置?


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

    嗨、Mohit、

    请允许我对此进行研究。 期待尽快答复。

    此致、

    Tarek D

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

    嗨、Mohit、

    我认为这是问题的根源。 CC2340R2 器件需要 48MHz 晶体。 不支持 24MHz。

    此致、

    Tarek D

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

    尊敬的 Tarek D:

    我已经更新了硬件以使用 48MHz 晶体、并使用您提供的示例对其进行了测试。 然而,我仍然面临同样的问题,并且应用程序正在陷入ICall_abort().

    您能否建议我还应检查或修改哪些内容来解决此问题?

    此致、
    Mohit

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

    嗨、Mohit、

    这真的很奇怪。 如果能够、请联系您的 FAE 安排会议、以便我们进一步讨论此问题。

    此致、

    Tarek D

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

    尊敬的 Tarek D:

    感谢您的答复。

    我仔细检查了这个问题,它似乎与晶体有关。 我通过更换晶体验证了这一点、该示例现在可以按预期工作。

    因此、根本原因似乎是晶体本身。

    感谢您的支持。

    此致、
    Mohit

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

    嗨、Mohit、

    我很高兴听到这个问题已得到解决!

    此致、

    Tarek D