TI中文支持网
TI专业的中文技术问题搜集分享网站

2640R2F GGS_SetParameter 注册设置设备名称时 进入Icall_abort

自制板,2640 4*4 封装, sdk 2.30版本, 官方simple_per例程,相关宏已修改为4*4封装。

LLAUNCHXL 板环境程序执行正常,但自制板上 进入 SimplePeripheral_init 执行至

GGS_SetParameter(GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName); 进入ICall_Abort,

请问是配置文件原因吗

yu yu69:

跟踪进去后,提示 ICALL_ERRNO_TIMEOUT 错误

Viki Shi:

回复 yu yu69:

该错误详解:The ICall module switches between application and stack threads through Preemption and Semaphore Synchronization services provided by the RTOS. The two ICall functions to retrieve and enqueue messages are not blocking functions. These functions check whether there is a received message in the queue and if there is no message, the functions return immediately with ICALL_ERRNO_NOMSG return value. To allow a client or a server thread to block until it receives a message, ICall provides the following function which blocks until the semaphore associated with the caller RTOS thread is posted:

//static inline ICall_Errno ICall_wait(uint_fast32_t milliseconds)
ICall_Errno errno = ICall_wait(ICALL_TIMEOUT_FOREVER);

milliseconds is a time-out period in milliseconds. If not already returned after this time-out period, the function returns with ICALL_ERRNO_TIMEOUT.

根据你的描述,在LAUNCHXL 板上是正常的,LAUNCHXL 板是7×7的,所以:
1、排查转换到4×4是否有错误
2、对照右边的check list查一下硬件:processors.wiki.ti.com/…/CC26xx_HW_Checklist

yu yu69:

回复 Viki Shi:

你好,产生进入Icall_abort的原因已找到,由于24M晶振引脚接错造成.现程序在单歩调试时能进入simple app msg处理函数中运行,但是直接在app msg处理函数断点等待执行时或无断点执行时,却无法进入。即使进入后,停止调试时,程序跑飞, 手机APP端无法发现蓝牙设备。使用的程序在SDK 2.30 官方例程基础上修改,去除了uart display,仅添加了I2C功能,在4×4移植过程中,修改相关宏后,使用CC2640R2DK_4XS.c 配置,但在编译时 提示 RFCC26XX_HWAttrs 未找到定义错误, 我按LAUNCHXL版本 将此处修改为 RFCC26XX_HWAttrsV2 编译通过.此处修改是否合适? 

yu yu69:

回复 yu yu69:

GAP_DEVICE_INIT_DONE_EVENT 此事件的回调处理单歩时都正常执行完成

赞(0)
未经允许不得转载:TI中文支持网 » 2640R2F GGS_SetParameter 注册设置设备名称时 进入Icall_abort
分享到: 更多 (0)