打印
[STC单片机]

用STC15W204S 单片机 程序内部变量超过128字节 ,怎么办

[复制链接]
3052|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
老的产品 需要升级该软件 采用STC15W204S 单片机  内部256字节RAM  不带片外RAM   现在程序变量超过128字节  keil  里面设置为Small:variables in DATA   编译不通过  改为Large: variables in xdata或compct可以通过  烧进去不工作   该怎么把变量定义在 片内高128字节  用了idata  也不行

使用特权

评论回复

相关帖子

沙发
ayb_ice| | 2019-4-26 16:00 | 只看该作者
char idata Var[4];

使用特权

评论回复
板凳
c475301174|  楼主 | 2019-4-26 16:15 | 只看该作者

c查看 MP51 文件  地址在低128字节内

78963.png (11.4 KB )

78963.png

使用特权

评论回复
地板
ayb_ice| | 2019-4-26 16:39 | 只看该作者
c475301174 发表于 2019-4-26 16:15
c查看 MP51 文件  地址在低128字节内

DATA只能在低128字节,IDATA在00~255里

使用特权

评论回复
5
linqing171| | 2019-4-26 16:59 | 只看该作者
c475301174 发表于 2019-4-26 16:15
c查看 MP51 文件  地址在低128字节内

你变量少了,多了就能上去了。从下往上分配的,idata从0到255.

使用特权

评论回复
6
c475301174|  楼主 | 2019-4-26 17:10 | 只看该作者
linqing171 发表于 2019-4-26 16:59
你变量少了,多了就能上去了。从下往上分配的,idata从0到255.

多定义几个变量  keil就编译不通过 IDATALEN已经改为256了

11112222.png (17.02 KB )

11112222.png

使用特权

评论回复
7
c475301174|  楼主 | 2019-4-26 17:34 | 只看该作者
c475301174 发表于 2019-4-26 17:10
多定义几个变量  keil就编译不通过 IDATALEN已经改为256了

想不出还有 哪里会有问题  

111.png (227.29 KB )

111.png

222.png (29.73 KB )

222.png

333.png (24.9 KB )

333.png

使用特权

评论回复
8
linqing171| | 2019-4-26 18:38 | 只看该作者
111.png
错误1:放不下。
错误2:没有用的变量段忽略了。

222.png
芯片名字是AT89C51,这个芯片只有128的idata,你选AT89S52看看。链接期会使用Device里面的map设置。
不建议去bl51里面设置,也不通过File/Device Database菜单修改device中的AT89C51的内存大小的map设置

333.png
这里和芯片实际大小没有关系,但是尽量还是要一致。链接期也不会使用这里的值,也不会修改这里的值。

使用特权

评论回复
9
c475301174|  楼主 | 2019-4-27 08:25 | 只看该作者
linqing171 发表于 2019-4-26 18:38
111.png
错误1:放不下。
错误2:没有用的变量段忽略了。

谢谢 改为AT89C52就可以了

使用特权

评论回复
10
ningling_21| | 2019-4-27 09:06 | 只看该作者
c475301174 发表于 2019-4-27 08:25
谢谢 改为AT89C52就可以了

选择资源相同的芯片即可

使用特权

评论回复
11
HARRY007| | 2019-4-29 13:09 | 只看该作者
用STC的官方库啊,有各种对应芯片的型号

使用特权

评论回复
12
yangsen| | 2019-4-29 13:39 | 只看该作者
单片机型号选错了,选AT89c52

使用特权

评论回复
13
yunie0608| | 2019-5-10 14:09 | 只看该作者
用STC官方例程啊,很方便的
  后期如果还有STC技术问题可以直接联系我
QQ:2593903262

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

113

帖子

3

粉丝