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.

[参考译文] RTOS/CC2640R2F:app_ble.cfg 中的 m3Hwi.nvicCCR.UNALIGN_TRP 将导致系统挂起

Guru**** 2577385 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/590575/rtos-cc2640r2f-m3hwi-nvicccr-unalign_trp-in-app_ble-cfg-will-result-in-make-system-hang

器件型号:CC2640R2F

工具/软件:TI-RTOS

你(们)好,先生

我今天遇到了一个奇怪的问题:当我在 app_ble.cfg 中将 simplelink_cc2640r2_sdk_1_30_00_25 附带的示例 multi_role 中的"3Hwi.nvicCCR.UNALIGN_TRP"值从0更改为1时 、此演示将挂起。

我甚至无法暂停 IAR、因为 IAR 会崩溃或运行为无响应状态、我必须手动中止进度。

但是、当我将"3Hwi.nvicCCR.UNALIGN_TRP"的值改回0时、一切都很顺利。

有人能告诉我这段教区有什么问题吗?  

PS:我注意到 IAR 在链接阶段提出警告:

警告[Lt009]:不一致的 wchar_t 大小
CryptoCC26XX.orm3 (drivers_cc26x0r2.arm3)和66个其他对象的 wchar_t 大小为16位
BLE_USER_CONFIG.o 和57个其他对象具有 wchar_t 大小32位

我不知道这是否是根本原因?

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

    您好!

    奇怪的是、默认情况下不启用此硬件异常。 它是检测未对齐存储器访问的陷阱。 由于我们的 BLE 示例经过了大量优化、因此如果此类示例可能最终会出现在旋转环路中(这可能是您所说的"无响应")、则会出现异常。



    我将尝试在结尾重复此内容、看看这是否是一个严重问题。 我想、在此期间、您可以停止目标并查看您是否遇到旋转锁定。 还可以使用 ROV 来查看是否发生了异常(在 Hwi 模块中)。 更多信息、请参阅软件开发人员指南的调试部分。

    Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不能暂停 IAR 真的很痛苦,我跟着几篇与这种现象有关的文章,但什么都没有。
    不过、您说过该演示可能会进入旋转环路。 因此、我添加了由 syscrassback 代理进行的用户空间回调、并得到了它。

    在.cfg 文件中、我添加了

    SysCallback.abortFxn ="&debug_syslabback_abort";
    SysCallback.exitFxn ="&debug_syslassback_exit";

    和两个挂钩函数、我可以设置断点。

    void debug_sychassnback _abort (const char * str)

    断言(0);


    void debug_syscassnback _exit (int 代码)

    断言(0);


    该演示运行到由 SysCallback.exitFxn 调用的 debug_sysbassback_exit 中。
    希望这些信息能为您提供帮助!