共3条
1/1 1 跳转至页
ADS,v1 ADS v1.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: 搞定了,感谢各位!
我的程序如下:
#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: 搞定了,感谢各位!
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? |
打赏帖 | |
---|---|
老胖子聊电路--分析一个反馈电路被打赏50分 | |
放大↔震荡被打赏50分 | |
【换取手持数字示波器】RTduino驱动ssd1306+sht31温湿度计被打赏40分 | |
【换取手持数字示波器】称植国产开源TobudOS到雅特力AT32F425被打赏40分 | |
【分享评测,赢取加热台】+Telink-泰凌微电子B91点灯篇被打赏20分 | |
【换取手持数字示波器】+精英板驱动LCD屏被打赏50分 | |
【换取手持数字示波器】+DFR0216全彩灯带WS2812示例分享被打赏50分 | |
【换取手持数字示波器】安装雅特力国产IDE-AT32IDE被打赏30分 | |
【换取手持数字示波器】+DFR0654板卡驱动数码管和串口功能分享被打赏50分 | |
【换取手持数字示波器】+DFPlayerMini模块推喇叭示例分享被打赏50分 |