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

CC2530串口回调函数的问题

CC2530+Zstack 3.0

1、我有三个设备,分别是1个协调器A,两个终端B1和B2。做串口透传。

现象:

1、终端B1和B2串口透传数据给协调器A,1s一次。三个设备一直都没有问题。

2、协调器A透传数据给终端B1或者B2,1秒一次,协调器很快就卡死了,20秒左右。串口回调函数和串口发送函数都是一样的。开了看门狗,协调器才会重启。

问题:

1、请问为什么会这样?

2、是不是内存溢出?如果是,该怎么办?

3、我用的IAR10.10,想调试找到代码卡死在哪里,该怎么做?

Viki Shi:

就描述来讲,有可能是内存溢出。你在串口运行处打断点,运行几次看看

user4711142:

回复 Viki Shi:

程序运行几次就卡死了,无法继续运行到串口回调函数的断点处。但是继续运行和暂停仿真,右侧的汇编语言仍XDATA和堆栈段运行。

user4711142:

回复 Viki Shi:

内存占用情况如下:

227 323 bytes of CODEmemory40 bytes of DATAmemory (+ 67 absolute )7 564 bytes of XDATA memory192 bytes of IDATA memory8 bitsof BITmemory1 074 bytes of CONST memory

user5030520:

CC2530已经不适合做Z-stack 3.0的协调器了

user4711142:

回复 user5030520:

 Sstack mesh 1.0的.map文件中hal_uart占用情况如下

Module                    CODE      DATA      XDATA  IDATA    BIT  CONST

——                      —-      —-      —–  —–    —  —–

                          (Rel)  (Rel)   (Abs)   (Rel)  (Rel)  (Rel)  (Rel)

hal_uart                     857             5              265

zstack 3.0.2中的.map文件中hal_uart占用情况如下:

hal_uart                     950             7      1  037

请问3.0协议栈中hal_uart占用了XDATA中1037个字节?

Viki Shi:

回复 user4711142:

同意楼上观点,CC2530处理能力不行,做zstack3.0的协议栈勉强了点,因此出现卡顿
至于你贴的图,说实话判断不出问题。猜测是处理能力的原因

PS:zstack3.0使用内存比原先的协议栈高,因此也不推荐用CC2530做

赞(0)
未经允许不得转载:TI中文支持网 » CC2530串口回调函数的问题
分享到: 更多 (0)