微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > Possible IDATA stack overflow detected为什么?

Possible IDATA stack overflow detected为什么?

时间:10-02 整理:3721RD 点击:
自己做的ZIGBEE(cc2530)板子,程序下载好之后,调试会出现如下错误:

Sun Jan 25 22:34:32 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check

Sun Jan 25 22:34:32 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:32 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:33 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:33 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:33 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:34 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:36 2015: Warning: Possible IDATA stack overflow detected. Reset target to re-enable overflow check
Sun Jan 25 22:34:36 2015: The stack 'IdataStack' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Sun Jan 25 22:34:36 2015: The stack pointer for stack 'IdataStack' (currently IData:0x00) is outside the stack range (IData:0xC0 to IData:0x100)
具体程序 如下:
#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define RLED P0_1 //定义LED1为P10口控制
//函数声明
void Delay(uint); //延时函数
void InitIO(void); //初始化LED控制IO口函数
/****************************
//延时
*****************************/
void Delay(uint n)
{
uint i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
/****************************
//初始化IO口程序
*****************************/
void InitIO(void)
{
P0DIR |= 0x13; //P10、P11、P14定义为输出
RLED = 1;
}
/***************************
//主函数
***************************/
void main(void)
{
InitIO(); //初始化LED灯控制IO口
while(1) //死循环
{
RLED = !RLED; // LED1灯闪一次
Delay(10000);
}
}

栈溢出了,建议你去看看IAR配置是否有问题?是配置的256K BANK 组?

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

网站地图

Top