微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 吐一吐CC254X的处理器性能

吐一吐CC254X的处理器性能

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

Hi all,

最近用CC254X开发,各方面都挺好,但是有一点不得不吐槽一下 —— 处理器性能太低了

1、CPU主频低

由于是soc方案,蓝牙协议栈与应用层代码都在同一个CPU里跑,导致相互之间制约。

由于蓝牙协议要求每隔一段时间需要响应另一端的心跳包,若应用层代码在某一段耗时间较多,没有及时跑到协议栈的响应部分,就会造成超时。

而且这种制约是存在在整个代码里的,也就是说,任何一个地方的代码都不能耗时过多,否则就会引起掉线。

所以我现在比较理解为什么看到许多方案里采用独立的单片机芯片 + CC254x 的方案了,这样CC254x只跑协议栈,应用代码不会受到太多制约。

2、内存小

8k的内存很吃紧啊,用一个稍微大一点的全局数组就编译报错了。

更重要的是,如果是由于函数内部的局部数组空间太大导致的问题,编译器貌似是检查不出来的,此时会造成程序卡在某个地方或者不断重启。。。

总结:

1、在实际开发中一定要注意优化代码,不要采用太大的数组或者是太多层的循环,以及尽可能减少IO操作。

2、对于真的很耗时的操作,可以考虑放在2次消息循环来做(即将一个任务分在两次ProcessEvent调用完成)。

3、本质的解决办法,就是 TI 能不能出一款性能好一些的BLE芯片啊啊啊啊,哪怕把内存提高到16K也好啊(NRF51822就有16k呢。。。)

4、题外话:单片机程序开发其实挺锻炼程序员的,对程序的时间和空间效率要求都很严格,希望广大JAVA程序员过来锻炼一下,改掉铺张浪费的坏习惯 ^_^

以上是我在实践中的推断,希望 TI 的工程师们来确认一下是否是这样,多谢 ^_^

cai,

感谢你的吐槽。

CC254x 是很老的一颗BLE芯片了,N年前的东西了,是业界第一颗BLE芯片,当时的BLE应用远没有今天这么复杂和火热。 但是除了一些需要复杂算法的应用外,CC254x还是能满足目前市面上大多数的BLE应用的。

从另外一个角度讲,由于推出时间长,TI 的这颗芯片,是目前市面上应用最广,成熟度和稳定度最高的芯片,毕竟在市面上混了这么久:)

TI 当然有下一代的BLE芯片会推出,今年下半年大家就会看到,将会采用更强大的MCU,当然也有更多的资源,功耗也会更低。

敬请期待!

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

网站地图

Top