微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于ICALL和 BLE protocol stack

关于ICALL和 BLE protocol stack

时间:10-02 整理:3721RD 点击:

1.手册中注解app使用icall给协议栈发送命令时会使APP阻塞,因为协议栈任务优先级是最高的,请问这个任务是何时被创建的?app端优先级调整会不会超过协议栈的优先级?

2.ICALL与OSAL在源码实现上应该理解为管道还是任务?

3.ti rtos有没有提供任务创建部分的源码?

4.协议栈在执行扫描或链接时app端并没有阻塞,是否是cortex m0在执行该任务?

5.向协议栈连续发送扫描和链接等命令,协议栈是否都会执行还是只关系当前命令?

Q1:

搜索如下函数

ICall_createRemoteTasks

关于优先级,如下:

Considering the simple_peripheral project as an example, these tasks are listed by priority. A higher task number corresponds to a higher priority task:
• 5: Bluetooth low energy protocol stack task
• 3: GapRole task (peripheral role)
• 1: Application task (simple_peripheral)

好的  感谢回复,其它问题能继续帮助我吗 ?谢谢

Q2&Q3:

2: 管道

3. rtos 关于task的源代码,目录如下。不过,由于使用了xdc tool,你直接从工程里是没法看到源码的。

C:\ti\tirtos_cc13xx_cc26xx_2_21_00_06\products\bios_6_46_01_37\packages\ti\sysbios\knl

Q4:

我认为M3执行了一部分,M0执行了一部分。 M3执行的是逻辑,M0是射频的动作。看不到底层,我是猜测,比如扫描,这个完全可能都在M0完成。新一代支持链式操作,所以频道切换,超时等逻辑都能由M0完成。

Q5:

这个从代码来看, 比如扫描,你每次调用这个命令,而命令内部是阻塞的,即要扫描结束才能返回。多个调用应该是FIFO的关系。

关于问题5手册提到说命令执行结果是异步返回的,在这没有结果返回期间再次发送命令是fifo关系还是会同时执行?有些问题我只能猜测

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top