找回密码
 立即注册
查看: 1379|回复: 12

STC8 keill编译memor配置

[复制链接]

9

主题

13

回帖

93

积分

注册会员

积分
93
发表于 2023-5-14 16:27:12 | 显示全部楼层 |阅读模式
使用的是STC8G1K08和STC8G1K17 20pin系列芯片,默认例程编译都是用的small选项,编译会出现错误
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: ?DT?MOT600
    LENGTH:  0019H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  TIMES
    SEGMENT: ?DT?MOT600
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  TOGGLE
    SEGMENT: ?DT?MOT600
我看规格书上写的是有1k 扩展ram,这个应该怎么用
1.需要所有变量都用xdata来修饰声明吗,还是说只用在keil编译选择large xdata选项就可以了?
2.其他地方需要改吗,看有网友说还要修改STARTUP.A51中的参数:PDATASTART和PDATALEN和keil中的Options选项/BL51的内容?
微信截图_20230514161342.png
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-5-14 19:58:47 | 显示全部楼层
一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编译后代码紧凑。
unsigned char xdata tmp[100];
unsigned long xdata abc;
回复 支持 反对

使用道具 举报 送花

9

主题

13

回帖

93

积分

注册会员

积分
93
发表于 2023-5-14 20:42:31 | 显示全部楼层
梁*** 发表于 2023-5-14 19:58
一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编 ...

编译选项还用small,其他的都不用改只是把数组,变量加xdata来修饰对吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-5-14 21:01:50 | 显示全部楼层
STC8G1K08, 速度足够快,你烧录时选择30MHz以上 !
xdata 是1024,你编译时就选 Large 编译
回复 支持 反对

使用道具 举报 送花

9

主题

13

回帖

93

积分

注册会员

积分
93
发表于 2023-5-15 11:56:30 | 显示全部楼层
神*** 发表于 2023-5-14 21:01
STC8G1K08, 速度足够快,你烧录时选择30MHz以上 !
xdata 是1024,你编译时就选 Large 编译
...

只用编译选择Large 编译,其他都不需要改,不用再用xdata来修饰了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2023-5-15 14:57:45 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-04-30 10:02:32
已绑定手机

23

主题

175

回帖

878

积分

高级会员

积分
878
发表于 2024-6-19 20:20:40 | 显示全部楼层
梁*** 发表于 2023-5-14 19:58
一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编 ...

你好问下,编译时,选择SMALL模式时,就只要将要定义的变量或则是数组,定义到xdata,其他不用管吗?

点评

用的具体哪个型号  详情 回复 发表于 2024-6-19 20:22
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2024-6-19 20:22:23 | 显示全部楼层
欢迎哈*** 发表于 2024-6-19 20:20
你好问下,编译时,选择SMALL模式时,就只要将要定义的变量或则是数组,定义到xdata,其他不用管吗? ...

用的具体哪个型号
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2025-04-30 10:02:32
已绑定手机

23

主题

175

回帖

878

积分

高级会员

积分
878
发表于 2024-6-19 20:23:07 | 显示全部楼层
神*** 发表于 2024-6-19 20:22
用的具体哪个型号

STC8A8K64D4型号
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15632
发表于 2024-6-19 20:25:39 | 显示全部楼层
STC8A8K64D4, 8K xdata


建议 idata 用户不要主动使用,留给堆栈
编译可以选择 Large
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 08:10 , Processed in 0.421055 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表