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:外设+观察器卡在 HAL_ASSERT_SPINLOCK

Guru**** 2540720 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/832254/cc2640-peripheral-observer-stuck-at-hal_assert_spinlock

器件型号:CC2640

大家好、

我的客户基于  Github 示例使用 CC2640实现了外设+观测 器、但该程序将在 HAL_ASSERT_SPINLOCK 处完成。  

如果禁用观测器功能、则不会发生错误。

2.启用 观测器功能、如果设置 DEFAULT_MAX_SCAN_RES = 20、程序将在30秒内停止运行; 如果设置为1、程序可以在卡滞前运行5分钟。

他为  回调函数发送的每个消息队列调用 iCall_freyMsg (pEvent)。 这是关于内存管理还是其他方面?

代码片段:

空 AssertHandler (uint8 assertCasuse、uint8 assertSubcause)

//检查断言原因
开关(砂锅)

案例 HAL_ASSERT_CAUSE_OUT_ORT_MEMORY:
中断;

案例 HAL_ASSERT_CAUSE_INTERNAL_ERROR:
//检查子原因
if (assertSubcause == HAL_assert_SUBCAUSE_FW_INERnal_error)

;  

其他



中断;

案例 HAL_ASSERT_CAUSE_ICALL_ABORT:
HAL_ASSERT_SPINLOCK;
中断;

默认值:
HAL_ASSERT_SPINLOCK;

返回;

assertCeps=8、 具有以下定义:

//常见断言原因(0x00 . 0x1f)
#define HAL_ASSERT_CAUSE_FALSE 0x00
#define HAL_ASSERT_CAUSE_TRUE 0x01
#define HAL_ASSERT_CAUSE_INTERNAL_ERROR 0x02
#define HAL_ASSERT_CAUSE_HW_ERROR 0x03
#define HAL_ASSERT_CAUSE_OUT_FOR_MEMORY 0x04
#define HAL_ASSERT_CAUSE_ICALL_ABORT 0x05
#define HAL_ASSERT_CAUSE_ICALL_TIMEOUT 0x06
#define HAL_ASSERT_CAUSE_WRONG_API_CALL 0x07
#define HAL_ASSERT_CAUSE_hardware_error 0x08
#define HAL_ASSERT_CAUSE_RF_DRIVER_ERROR 0x09
#define HAL_ASSERT_CAUSE_Unexpected 错误0x0A

维基

此致。

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

    尊敬的 Viki:

    客户可以尝试使用最新的 SDK 版本之一吗?

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

    您好!

    我将暂时关闭此主题、请在收到更多反馈后回复。