导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→计算DATA值时,是不是只算DATA,IDATA的总和,不算[langren0468]

 *第11593篇: 计算DATA值时,是不是只算DATA,IDATA的总和,不算XDATA?

  
楼 主:langren0468 2003年5月8日14:23
 计算DATA值时,是不是只算DATA,IDATA的总和,不算XDATA?
  
2楼:langren0468 2003年5月8日15:58
 希望大家帮忙说说!
  
3楼:tm1300 2003年5月9日10:21
 参考
DATA区:指可以直接寻址的低128B RAM区;访问速度最快;
IDATA   :指间接寻址的片内数据存储器256B,允许访问片内全部内地址;
XDATA: 指外部RAM区;

对于KEIL编译器:如果你定义变量不分配空间,那么自动从DATA-->  IDATA分配;如果你定义存储空间为DATA区,那么只要超过128B,那么就会报错;所以,一般对于数组最好定义在IDATA空间。

XDATA有两种情况:一是单片机外扩的RAM区,另外是CPU集成了部分外扩RAM区。

  
4楼:langren0468 2003年5月9日10:23
 谢谢,我是这样做的,DATA,IDATA都没超,但DATA SEMENT LARGE?
  
5楼:荒原野草 2003年5月8日16:01
 说清楚一点如何?
  
6楼:langren0468 2003年5月8日16:05
 我发现DATA 没超,但XDATA比较大,是不是因为这个,才说DATA SEMENT LARGE?急!!1
  
7楼:荒原野草 2003年5月8日16:06
 不晓得,从来没用过wave
  
8楼:langren0468 2003年5月8日16:08
 不会吧,那你说说DATA SEMENT LARGE这个错误大概是?
  
9楼:荒原野草 2003年5月8日16:16
 你是如何发现data没超的?
  
10楼:langren0468 2003年5月8日16:17
 KEIL编译后有显示呀!我先用KEIL编译,再用WAVE仿真
  
11楼:荒原野草 2003年5月8日16:22
 ??
我用的是keil7.0,会显示所用的data,xdata数量
也出现过你所说的错误,但当时报的data确实超了.
  
12楼:langren0468 2003年5月8日16:28
 你只的超是XDATA超,还是只是DATA 超呢?
  
13楼:荒原野草 2003年5月8日16:31
 当然是data超了
  
14楼:langren0468 2003年5月8日16:32
 这就对了,我用KEIL编译DATA没超,但WAVE 却一直都是DATA SEMENT LANGE!
  
15楼:flyready 2003年5月9日10:47
 会不会是Target的设置中限定什么呢?
会不会是Target的设置中限定什么呢? 如Ram的地址空间范围。。。
  
16楼:langren0468 2003年5月9日10:53
 我用KEIL 可以编译过,WAVE不行
  
17楼:langren0468 2003年5月8日16:03
 我用WAVE编译时,老是DATA SEMENT LARGE 的错误,但我DATA数据没有超,是怎么回事呢

>>>>>>对该主题发表你的看法

本主题贴数17,分页: [第1页]


[上一篇主题]:求keyfile

[下一篇主题]:帮忙看看吧!