标题: keil 编译时 地址空间溢出 [打印本页]

作者: 笑看风云-TT    时间: 2014-6-6 22:21
标题: keil 编译时 地址空间溢出
data只用了165就溢出,stc-89c51 RAM 不是有512吗?怎么还是溢出的呢? keil 我已经增加了STC的数据库。 请高手指点



作者: heicad    时间: 2014-6-7 00:51
memroy model  重新选一个就 ok了
作者: dongmaowan    时间: 2014-6-7 08:54
51单片机是8处理器,可以经过寄存器寻址为256字节,
512内存分配如下:
低128是可以直接寻址通用,速度快,可直接寻址。
高128是地址与特殊功能寄存器通用,访问是经过寄存器间接寻址,定义变量加关键字 idata。
   256为使用外部总线访问地址为0~0xFF,定义变量关键字为 xdata。
刚好512字节内存
编译器芯片选择AT89C51只可以访问128字节
               选择AT89C52就可以使用idata 使用高128字节了啊;
作者: 笑看风云-TT    时间: 2014-6-11 22:27
dongmaowan 发表于 2014-6-7 08:54
51单片机是8处理器,可以经过寄存器寻址为256字节,
512内存分配如下:
低128是可以直接寻址通用,速度快 ...


作者: 笑看风云-TT    时间: 2014-6-11 22:28
heicad 发表于 2014-6-7 00:51
memroy model  重新选一个就 ok了


作者: yuanhang1001    时间: 2018-7-13 21:28
dongmaowan 发表于 2014-6-7 08:54
51单片机是8处理器,可以经过寄存器寻址为256字节,
512内存分配如下:
低128是可以直接寻址通用,速度快 ...

大神!问题解决了!
作者: 花开半夏    时间: 2018-9-22 10:14
yuanhang1001 发表于 2018-7-13 21:28
大神!问题解决了!

大神,请问一下你那个问题是咋解决的
作者: qq1104859436    时间: 2020-4-16 18:12
heicad 发表于 2014-6-7 00:51
memroy model  重新选一个就 ok了

怎么选哦

作者: LP137461    时间: 2020-7-18 21:25
dongmaowan 发表于 2014-6-7 08:54
51单片机是8处理器,可以经过寄存器寻址为256字节,
512内存分配如下:
低128是可以直接寻址通用,速度快 ...

谢谢指教

作者: 郑汉松    时间: 2020-7-19 19:28
不需要改变的数组前面加上code
作者: noble64    时间: 2021-2-25 09:03
郑汉松 发表于 2020-7-19 19:28
不需要改变的数组前面加上code






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1