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/CC2650:APP/BLE Stack 更改 iCall_init()和 GAP 的优先级

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/596700/rtos-cc2650-app-ble-stack-change-priority-of-icall_init-and-gap

器件型号:CC2650

工具/软件:TI-RTOS

您好!

我想将 iCall_createRemoteTasks()的优先级从5更改为更高的数字,并插入一些我自己的低优先级自定义 RTOS 任务。 main.c (随示例外设一起提供)的写入方式、优先级5、3和1已被采用、而不会给自定义任务留下太多的时间(尤其是考虑到我们建议不要 有任何优先级高于 BLE 任务的任务)。 我有两个任务、一个传感器控制器数据检索任务(较高优先级)和一个数据处理任务(较低优先级)。 如果我们可以访问的最大优先级为4、如何将这些内容成功添加到应用程序/堆栈项目中? (aka -我们是否可以更改预定义任务的优先级?)  谢谢

 /*初始化 iCall 模块*/
 iCall_init();
 
 /*启动外部映像的任务-优先级5 */
 iCall_createRemoteTasks();
 
 /*启动配置文件-优先级3 */
 GAPRole_createTask();
 
 SimpleBLEPeripheral_createTask();
 
 /*启用中断并启动 SYS/BIOS */
 BIOS_start();
 

 

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

    任务优先级的数量在 RTOS 配置文件中定义、例如、针对 BLE 项目的 appBLE.cfg。
    请注意、添加更多任务需要更多 RAM 用于任务堆栈和 RTOS 对象。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道我可以更改任务数,但如何更改预定义的 iCall_createRemoteTasks()的优先级。 您能不能请我参考一些有关此主题的体面文档、因为它非常厚且不适合用户使用
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Anthony、

    我们不会发布有关如何更改 ICall (BLE)任务优先级的文档、但是、通过快速的"在文件中查找"搜索、您可以在 iCall_Addrs.h 中找到此条目:

    **
    *线程优先级数组的初始化程序。
    *数组中的每个元素都对应于特定于 TI-RTOS
    *为要创建的线程指定的线程优先级值
    *根据@ref ICALL_ADDR_MAPs 中定义的输入函数
    *初始化程序、顺序相同。
    *
    #define ICALL_TASK_Priorities{5}

    更改此参数将更改用于创建任务的任务优先级。 它仍然是 YMMV、因为我们不建议(或测试)更改 BLE 任务的优先级。

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

    不过、这一点非常清楚 、TI 希望用户如何在线程中运行其他任务以及蓝牙任务(例如从 传感器控制器提取数据、 1 )不改变预定义的优先级2)不允许优先级高于 BLE 协议优先级{5}3)仅保留优先级2和4、因为蓝牙使用1、3和5。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于内存资源要求、运行超过2个额外的 RTOS 任务是不切实际的、这主要取决于任务堆栈大小。 您可以将 GAPRole 任务移至优先级4、而不会在默认示例应用程序中出现任何问题。

    祝你一切顺利