这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ADS,v1 ADS v1.2编译出现错误信息,请大师帮忙指点!

共3条 1/1 1 跳转至

ADS,v1 ADS v1.2编译出现错误信息,请大师帮忙指点!

院士
2006-09-17 18:14:16     打赏
ADS,v1 ADS v1.2编译出现错误信息,请大师帮忙指点!



关键词: 编译     出现     错误     信息     大师     帮忙     指点    

院士
2006-12-22 22:43:00     打赏
2楼
问 (芯片是LPC21XX)
我的程序如下:
#include  "config.h"
unsigned char ram[0x7d00];
void config(void)
{
        unsigned int i;
        for(i=0;i<0x7d00;i++){
                              ram[i]=0;
                              }
        }
int main(void)
{
        config();
        while(1);
        return 0;
        }
编译出错信息:
Error   : L6221E: Execution region IRAM overlaps with Execution region STACKS.
如果把 unsigned char ram[0x7d00];改为局部变量,即程序如下:
#include  "config.h"
void config(void)
{
        unsigned char ram[0x7d00];
        unsigned int i;
        for(i=0;i<0x7d00;i++){
                              ram[i]=0;
                              }
        }
int main(void)
{
        config();
        while(1);
        return 0;
        }
编译才能成功。
为什么会这样呢?数组不能定义为全局变量吗?但是我需要把ram[0x7d00]定义为全局变量
的。

1: 换个名字试试,也许ram是编译器保留字 2: 我把数组名ram、函数名config换了也不行. 3: re:你的程序我在ADS上测试,没有问题。
可能是config.h的问题吧,我这里没有
就使用一个空的config.h文件,可以编译通过。 4: 非常感谢你回帖!我是用周工的工程摸板产生的项目,如果是CONFIG。H的问题,那我该怎样处理呢? 5: 非常感谢你回帖!我是用周工的工程摸板产生的项目,如果是CONFIG。H的问题,那我该怎样处理呢? 6: 周工的LPC21XX的工程摸板是不是有问题啊?如果不用周工的LPC21XX的工程摸板的话,编译连接正常,软件模拟仿真也正常,是怎么回事啊? 7: ram 定义的太大了。改成10个字节试试 8: 周工,我是用你的工程摸板建立的项目,怎么会出现这个问题呢? 9: ZLGARM,麻烦你看看我的问题可以吗? 10: 应该是没有那么多ram空间了可能:
全局变量未被优化,产生rw空间溢出,而局部变量由于在你的程序中没有做什么实质性的操作而被优化掉了所以不参加连接所以没有报错,不信声明局部变量时候加static试试。 11: 刚才我用你们的EASYARM《实验程序》中的LEDDISP作实验。刚才我用你们光盘中的\EASYARM\实验程序\GPIO_TEST\LEDDISP作实验。用我的程序替换了LEDDSP.c,结果是编译正常,软件仿真也能正常的! 12: 搞定了,感谢各位!

菜鸟
2018-03-05 15:25:15     打赏
3楼

怎么处理的啊


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]