论坛风格切换切换到宽版
  • 3617阅读
  • 7回复

keil uv3 编译遇到困难 [复制链接]

上一主题 下一主题
离线wanglei72
 
发帖
368
只看楼主 倒序阅读 0楼 发表于: 2007-04-03
keil uv3 编译遇到困难

build target 'target 1'
compiling ep_interrupts.c...
compiling fw.c...
assembling dscr.a51...
linking...
*** error l107: address space overflow
space: data
segment: _data_group_
length: 001bh
program size: data=127.6 xdata=4474 code=4671
target not created

高手帮忙
离线ideastone
只看该作者 1楼 发表于: 2007-04-05
内部data区的使用超过限制,要么定义到idata区,要么较少你的ram使用长度
离线wanglei72
发帖
368
只看该作者 2楼 发表于: 2007-04-05
DATA 区在那里定义呀?
'
内部data区的使用超过限制,要么定义到idata区,要么较少你的ram使用长度
'

ram是16k的

data 区在那里定义呀?
离线bellstudio
发帖
2820
只看该作者 3楼 发表于: 2007-04-05
是不是内存模式没选对?
大内存模式
离线wanglei72
发帖
368
只看该作者 4楼 发表于: 2007-04-06
应该不是
'
是不是内存模式没选对?
大内存模式
'

内存模式改过了,也不行,应该是data区,代码删掉部分后, 错误消失,把几个 int 变量改成 byte 变量错误也能消失。
离线BG4UVR
发帖
11213
只看该作者 5楼 发表于: 2007-04-06
你程序的data使用已经达到128个字节,不够用了…… 因为根本没堆栈用的空间了。

方法就是把一些变量定义到idata区,或者xdata区。看你xdata使用量相当大,相信你已经接了一个大容量外部ram了~~

另外要说的是,你说的ram有16kb,那个ram,和这里面说的data区,是两回事,请多翻一下资料就清楚了。
离线bellstudio
发帖
2820
只看该作者 6楼 发表于: 2007-04-06
楼主不是外接的,cy的usb芯片确实具有那么大的ram
离线wanglei72
发帖
368
只看该作者 7楼 发表于: 2007-04-09
有道理;“因为根本没堆栈用的空间“
'
你程序的data使用已经达到128个字节,不够用了…… 因为根本没堆栈用的空间了。
方法就是把一些变量定义到idata区,或者xdata区。看你xdata使用量相当大,相信你已经接了一个大容量外部ram了~~
另外要说的是,你说的ram有16kb,那个ram,和这里面说的data区,是两回事,请多翻一下资料就清楚了。
'


有道理;“因为根本没堆栈用的空间“。我把占用data 区的变量压缩倒128以内有时就报错,有时不报错,可能是 堆栈不够用了, 多谢。多谢楼上各位。