电子小生 发表于 2014-8-22 13:15:45

单片机RAM问题

    我用的单片机是新唐的N79E824,RAM 256Byte.
    编译程序,data超过128就会报错。在变量前面加idata关键字也不行。在Memory Model中选择模式PDATA或是XDATA。编译程序后xdata数据会增加。但程序无法正常运行
谁知道这个单片机怎么充分利用起来它的256RAM的,请大家帮帮忙。谢谢了!

tam2907 发表于 2014-8-22 14:03:29

编译器里目标芯片有没有选对,xdata是片外寻址空间。

电子小生 发表于 2014-8-22 16:20:53

目标芯片选对的。我程序一直正常工作,只是后面程序加不进去了。

xyz543 发表于 2014-8-23 16:32:25

请您看看下方这一篇是否能帮得上您。 {:smile:}

USING PDATA MEMORY

tam2907 发表于 2014-8-23 17:02:46

电子小生 发表于 2014-8-22 16:20
目标芯片选对的。我程序一直正常工作,只是后面程序加不进去了。

定义变量要注意变量占用空间不能大于RAM的总数。
N79E824 一共256BRAM,data占128,idata占128。
data区还包含工作寄存器组,在data区定义变量空间只能小于128。
定义idata区的变量总数不能超128;,不然也会报错。

电子小生 发表于 2014-8-23 22:27:39

tam2907 发表于 2014-8-23 17:02
定义变量要注意变量占用空间不能大于RAM的总数。
N79E824 一共256BRAM,data占128,idata占128。
data区还 ...

我定义的变量并没有加data或是idata关键字。难道变量默认是idata的?

tam2907 发表于 2014-8-24 07:46:20

电子小生 发表于 2014-8-23 22:27
我定义的变量并没有加data或是idata关键字。难道变量默认是idata的?

默认是data的。

zxd08 发表于 2014-8-25 09:36:25

默认是data的,定义多一些idata吧

电子小生 发表于 2014-8-25 12:04:03

tam2907 发表于 2014-8-24 07:46
默认是data的。

好的,谢谢

电子小生 发表于 2014-8-25 12:04:23

zxd08 发表于 2014-8-25 09:36
默认是data的,定义多一些idata吧

谢谢回复,我来试试吧
页: [1]
查看完整版本: 单片机RAM问题