用KEIL编写C语言代码,编译过后会出现形如:Program Size: data=13.0 xdata=0 code=417

其中data,xdata 和code分别表示什么意思?是不是说code就是表示下载到单片机里程序所占的大小,在STC89C52中code不能超过8000?

data表示你使用的内部RAM,也就是地址在0~255之间的,用mov命令访问的RAM;xdata表示你使用的外部RAM,也就是需要用汇编movx才能访问的RAM,注意,很多扩展了RAM的51芯片,例如STC,华邦出品的51,虽然从使用者角度觉得是芯片自带的RAM,但实际上访问这些扩展RAM时是作为外部RAM处理的,你必须定义成xdata;code表示编译出来的程序大小,一般情况下就是程序占用的大小。
如果你指定了CPU型号,如果code超出,KEIL链接的时候会报错的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-18
用有道翻译一下啊,

用KEIL编写C语言代码,编译过后会出现形如:Program Size: data=13.0...
data表示你使用的内部RAM,也就是地址在0~255之间的,用mov命令访问的RAM;xdata表示你使用的外部RAM,也就是需要用汇编movx才能访问的RAM,注意,很多扩展了RAM的51芯片,例如STC,华邦出品的51,虽然从使用者角度觉得是芯片自带的RAM,但实际上访问这些扩展RAM时是作为外部RAM处理的,你必须定义成xdata...

keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”怎么解 ...
总之,当遇到Keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”提示时,可以通过调整“Target RAM\/ROM”设置为最大模式,或者使用xdata定义变量,来解决数据区溢出的问题。同时,优化代码和合理分配数据存储空间也是提高程序性能的重要手段。

keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”怎么解 ...
只要生成了Hex文件,没有错误,就没问题,这个只是一个提示信息,我也不知道89c52的data有多大,你可以 点击 project--->options for target--->device查看,如果你89c52的data超过了133,你可以考虑把原来定义的数据类型改成xdata

用Keil C51编写单片机程序,怎么看程序多少行
2.怎么看程序占了多大的内存:程序编译成功后,在编译器界面下方的build窗口中,会给出程序占用的存储大小,比如:Program Size: data=13.0 xdata=0 code=298 ,说明ROM被占用了298字节.也可以查看你工程文件夹下的.map文件,在该文件的最后给出了ROM和RAM的详细使用情况,比如:=== Total RO Size (Co...

单片机C语言编译后:Program Size: data=10.0 xdata=0 code=95,此内容...
你的XDATA等于0 估计你的程序里面没有写类似 uint xdata a;这样的定义方式。所以XDATA里面的存储量为零,至于CODE是是你单片机的程序存储器的内容 存放你的程序,根据你编写程序的多少确定,也同样可以将你的变量定义在code空间里,例如 uint code a;希望可以帮到你!

...Program Size:data= 9.0 xdata=0 code=50 这句话是什么意思,揭示了...
这个应该是编译后的文件占用单片机系统存储的容量表示,以便于选择不同存储容量型号的单片机时做一个参考,或者对程序修改或升级时有一个参考和估计,data对应的是片内的RAM,xdata对应的是程序中片外扩展的存储器上需要占用的容量,code是编写的程序占用单片机片内的存储程序ROM上的容量。同一系列不同型号...

在Keil中编译后下方显示 Program Size: data=11.0 xdata=0 code=282...
“ data=11.0 xdata=0 code=282 ”代表生成的各个段的大小。具体来说,data=11.0代表你这段程序生成的目标代码所占用单片机的内部RAM空间是11.0个字节;xdata是片外RAM空间,xdata=0表示没有使用片外RAM空间数据;code=282代表生成的代码大小(即ROM空间,这里一般指Flash)是282字节。

...Program Size: data=97.0 xdata=0 code=2706
keil软件没有注册只能运行code小于2KB的程序,或者target options>target>code rom size 选项选择错误 要选择large: 64K program

keil c51已经破解,编译时为什么还出现RESTRICTED VERSION WITH 0800H...
最后一个(FATAL ERROR L250)是指你程序生成的代码已经超过了芯片的容量了 根据以上提示你写的程序基本上没有错误,建议把前两个警告提示的程序注释或删除掉,再试下看生成的代码(就最后code=xxxx那一段)是否已经超出你选择芯片的FLASH大小,看以上提示你选择的芯片应该是4K大小的,也就是说最大容量...

单片机\/keil编写出现警告。程序如下:
我编译了一下,没有Warning啊!Build target 'Target 1'assembling STARTUP.A51...compiling pjpj.c...linking...Program Size: data=9.0 xdata=0 code=142 "pjpj" - 0 Error(s), 0 Warning(s).会不会是版本的问题啊!我用的是Keil v2.38a C编译器版本7.06,无2K代码限制 ...

相似回答