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

CC2640R2F: 使用CC2640R2F创建新任务时遇到的问题。

Part Number:CC2640R2F

使用CC2640R2F SDK创建新任务,原有SimpleBLEPeripheral_createTask之外,再创建一个用户任务。

我新创建任务,修改全局宏定义    ICALL_MAX_NUM_ENTITIES=7     ICALL_MAX_NUM_TASKS=4,

任务运行能起来,我仿造SimpleBLEPeripheral_createTask,使用

ICall_registerApp(&selfEntity, &syncEvent);

Event_pend(syncEvent, Event_Id_NONE, SBP_ALL_EVENTS,ICALL_TIMEOUT_FOREVER);

也能成功收发事件和队列。

但是在新任务中使用osal_snv_write(0x80, 1, (uint8 *)&data);,会卡死在这个函数出不来,仿真时单步走发现。

此操作放在SimpleBLEPeripheral_Task是可以的。

请教一下,我的配置正确吗,还需要其他配置吗?

    // Configure task
    Task_Params taskParams;
    Task_Params_init(&taskParams);
    taskParams.stack = kiwiTaskStack;
    taskParams.stackSize = KIWI_TASK_STACK_SIZE;
    taskParams.priority = KIWI_TASK_PRIORITY;

    Task_construct(&kiwiTask, AppKiwi_taskFxn, &taskParams, NULL);

Alex Zhang:

您好,您这边可以参考我们的官网教程:

https://dev.ti.com/tirex/content/simplelink_academy_cc2640r2sdk_5_30_01_00/modules/blestack/ble_01_custom_profile/ble_01_custom_profile.html

我为您提供了链接,希望可以帮助到您

,

user6303367:

没有看到需要的呢。

主要是 osal_snv_write  什么情况会阻塞,假死,有资料吗?

,

Alex Zhang:

似乎您创建新任务的方式与osal_SNV_WRITE ()函数有关,我建议您阅读用户指南中的专用章节,转到他的应用程序章节, 然后内存管理,最后闪存,你可以找到一个部分使用简单的NV为闪存存储。 如果没有此功能,任务是否正常工作? 您是否能够正确使用堆栈? (您使用的是blestack还是ble5stack?) 您可以使用CCS上的ROV工具来帮助您进行调试,它将帮助您了解正在运行的任务以及您到底在哪里待处理。 

,

user6303367:

使用的是blestack,用户指南,哪里有呢

,

Alex Zhang:

https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_30_00_03/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/index-cc2640.html

Alex Zhang 说:阅读用户指南中的专用章节

我这边为您提供了链接,我刚刚在给您这边查找,抱歉让您久等了。

,

user6303367:

好的,感谢

,

Alex Zhang:

Alex Zhang 说:CCS上的ROV工具

这个您这边需要吗?我也给你提供资料。

,

Alex Zhang:

https://dev.ti.com/tirex/explore/node?node=A__ACOj6WhXkFLx5hBeJ980nA__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK__BSEc4rl__LATEST

这个链接提供了查看堆栈大小的方法

Introduction — Runtime Object View documentation

更为细节的是这个 希望可以帮助到您

,

user6303367:

收到,感谢!

,

Alex Zhang:

不客气,有问题随时来论坛交流,您这边有新的问题,需要重新发帖,谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F: 使用CC2640R2F创建新任务时遇到的问题。
分享到: 更多 (0)