xiaobendan001 发表于 2025-9-8 07:32 是不是用得全局变量比较多导致的? ![]() |
noadmin 发表于 2025-9-7 15:42 CODE才4316,DATA就用这么多了。 DATA只有128,还要空出来一些用作堆栈。 片内的高128要使用idata关键字标识一下。否则编译器不会自动使用的。 能用局部变量的就用局部的吧。 实在不行换带有XDATA的芯片吧 |
noadmin 发表于 2025-9-7 15:42 低RAM 地址是 00-7f。 高位RAM地址是 80-FF。高位RAM地址是复用的,不能直接访问。 |
在keil5中data为197就报了,我想知道这个值的上限是多少? *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 006FH Program Size: data=197.0 xdata=0 code=4316 |
直接寻址的是低128字节的内部RAM。另外高的128字节是间接寻址, (注意):直接寻址的低128字节比较快,高的128字节是间接寻址,它寻址的速度比直接寻址要慢。 |
wfqxgw 发表于 2021-4-27 22:31 谢谢! |
angmall 发表于 2021-4-27 22:30 谢谢解答!我还有点问提:就是我这个52rc编译的时候也能用xdata啊?写进去也能正常运行,还有就是为啥keil编译的时候不显示idata用了多少,我看好像是和data算在一起了 |
xdata是属于片外的RAM了.速度很慢.一般先用data和idata |
zsw3721 发表于 2021-4-27 22:06 谢谢!我还有一个问题就是这个idata和xdata是不是一样的啊? |