打印
[AVR单片机]

cannot initialize RAM area

[复制链接]
8293|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梦爱琴所|  楼主 | 2011-6-15 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在icc AVR7.22中碰到了这个问题,百度了一下,有网友碰到了和我一样的问题,试了几个网上的解决方法没用。(把const改为flash、去掉#pragma data:code)我在6.23版本里放进同样的程序也没有解决。不知道那位大侠遇过同样的问题,怎么解决的?
源程序显示错误处
#pragma data:code
//#define BEEP() PORTD^=BIT(PD7)  //蜂鸣器
//0-9,A-F的数码管段码
const table[]=
{
  0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
  0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0
};
这是出现的警告和错误。
C:\iccv7avr\bin\imakew -f 09.mak
    iccavr -c -e -D__ICC_VERSION=722 -D_EE_EXTIO -DATMega1280  -l -g -MLongJump -MHasMul -MEnhanced -Wf-use_elpm  09.c
!W E:\avrstudy\099\09.c(26):[warning] old-style function definition for `Key_press'
!W E:\avrstudy\099\09.c(50):[warning] old-style function definition for `Keys_Scan'
!W E:\avrstudy\099\09.c(52):[warning] calling a function without prototype may cause runtime errors if the function
does not return int or unsigned int
!W E:\avrstudy\099\09.c(53):[warning] calling a function without prototype may cause runtime errors if the function
does not return int or unsigned int
!W E:\avrstudy\099\09.c(146):[warning] old-style function definition for `main'
!W E:\avrstudy\099\09.c(152):[warning] calling a function without prototype may cause runtime errors if the function
does not return int or unsigned int
!W E:\avrstudy\099\09.c(154):[warning] calling a function without prototype may cause runtime errors if the function
does not return int or unsigned int
!E 09.s(7): cannot initialize RAM area
C:\iccv7avr\bin\imakew.exe: Error code 1
C:\iccv7avr\bin\imakew.exe: '09.o' removed.
Done: there are error(s). Exit code: 1. Wed Jun 15 22:19:17 2011

相关帖子

沙发
梦爱琴所|  楼主 | 2011-6-15 22:22 | 只看该作者
写的是矩阵键盘在数码管显示,数组里是共阴数码管的编码,就是数组名前面的"const"与“#pragma data:code”有问题。视频教程上说是这样写是把数组放在了数据存储区,这和放在程序存储区有什么区别呢??

使用特权

评论回复
板凳
梦爱琴所|  楼主 | 2011-6-15 22:50 | 只看该作者
为什么没有回复啊???这个问题大家都跟纠结么???

使用特权

评论回复
地板
梦爱琴所|  楼主 | 2011-6-16 08:32 | 只看该作者
还是木有大侠解决么?

使用特权

评论回复
5
梦爱琴所|  楼主 | 2011-6-30 11:13 | 只看该作者
这个问题我自己解决了,呵呵。可能是ICC版本的问题吧,我的7.22的。然后把工程放在软件安装目录下的example里就可以了。有同样困惑的童鞋们,快来看看哦,有木有帮助呢

使用特权

评论回复
6
梦爱琴所|  楼主 | 2011-6-30 11:14 | 只看该作者
这个问题我自己解决了,呵呵。可能是ICC版本的问题吧,我的7.22的。然后把工程放在软件安装目录下的example里就可以了。有同样困惑的童鞋们,快来看看哦,有木有帮助呢

使用特权

评论回复
7
一颗心的思考| | 2014-9-19 23:24 | 只看该作者
梦爱琴所 发表于 2011-6-30 11:13
这个问题我自己解决了,呵呵。可能是ICC版本的问题吧,我的7.22的。然后把工程放在软件安装目录下的example ...

然后把工程放在软件安装目录下的example里就可以了。。这句什么意思

使用特权

评论回复
8
梦爱琴所|  楼主 | 2014-9-21 10:38 | 只看该作者
这个还是在学校里自己学习捣鼓的,现在都忘光了。。。。;P

使用特权

评论回复
9
52大脸猫| | 2015-5-26 15:36 | 只看该作者
梦爱琴所 发表于 2011-6-30 11:14
这个问题我自己解决了,呵呵。可能是ICC版本的问题吧,我的7.22的。然后把工程放在软件安装目录下的example ...

可是我按这种方法还是有这个问题啊

使用特权

评论回复
10
52大脸猫| | 2015-5-26 15:41 | 只看该作者
梦爱琴所 发表于 2011-6-30 11:14
这个问题我自己解决了,呵呵。可能是ICC版本的问题吧,我的7.22的。然后把工程放在软件安装目录下的example ...

直接放的话还有问题
E:\ICCAVR~1.22\bin\imakew -f 1602.mak
E:\ICCAVR~1.22\bin\imakew.exe: Couldn't open 1602 GetLastError() = 5
这又是什么意思呢,求救啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

480

帖子

2

粉丝