微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 请问IDataStack和XDataStack溢出该怎么解决

请问IDataStack和XDataStack溢出该怎么解决

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

各位大神:

遇到一个问题,同样的程序下载到两个版本的硬件里,A版硬件正常运行,B版硬件操作按键就频繁出现IDataStack和XDataStack溢出的现象。

B版硬件只是在A版的基础上加了充电电路,LED的IO定义稍有变动,请问是要通过修改Stack容量范围来解决吗?如果是该怎么修改?

最好单步执行下,看看哪步溢出,也可能是软件bug

在线仿真了几天,感觉出现Stack溢出的情况经常是跟触发按键同时出现的,遇到一个怪现象:

我的硬件按键按下时与GND相连,平时是高电平。所以我修改了协议栈的一些定义,

1. 将按键中断方式改为   #define HAL_KEY_SW_6_EDGE     HAL_KEY_FALLING_EDGE

2. 按键活跃状态改为低电平

#if defined (HAL_BOARD_CC2530EB_REV17)
#define PUSH1_POLARITY ACTIVE_LOW

修改这两处之后,会出现无法自动联网,设备状态一直处于DEV_INIT状态或者出现之前提的Stack溢出现象,应该如何解释呢?求大家帮忙

发现问题了,出现堆栈溢出的原因是我新版本硬件的充电电路问题,在运行过程中电压不正常了。总结造成堆栈溢出的原因有

1. 频繁进某个中断,使中断地址无法释放又压入新地址

2. 硬件突然复位,但又不会重新回到Main函数,比如我这种硬件电压异常的情况

还有其他原因的话,请大家再补充吧

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

网站地图

Top