找回密码
 立即注册
查看: 63|回复: 11

STC32G144K246单片机,xdata只能使用64K???

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2026-03-31 11:02:40

8

主题

54

回帖

274

积分

中级会员

积分
274
发表于 昨天 11:02 | 显示全部楼层 |阅读模式
截图202603311101385930.jpg

错误如上图,按理来说,这STC32G144K246单片机,edata是16K,xdata是128K,可我才定多大的内存,就报错了呢???


问题补充:xdata区总内存大小没有超过64K,则不报错
截图202603311626126529.jpg

然后把xdata再加大,就报错了


截图202603311627049417.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:60
  • 最近打卡:2026-03-31 07:51:31

9

主题

85

回帖

977

积分

高级会员

积分
977
发表于 昨天 11:15 | 显示全部楼层
这个文件最大是64K,你看后面不是写max了么

点评

不是文件超过了64K,而是定义二维数组变量40960了,就报错了  发表于 昨天 16:12
微信qsssuv
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:256
  • 最近打卡:2026-03-31 08:38:02
已绑定手机

22

主题

631

回帖

2338

积分

金牌会员

积分
2338
发表于 昨天 11:39 | 显示全部楼层
用huge定义变量

点评

查deepseek,说用huge定义的变量,在edata区,而edata区只有16K,不够  发表于 昨天 13:20
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:206
  • 最近打卡:2026-04-01 00:01:42
已绑定手机

15

主题

266

回帖

1450

积分

金牌会员

DIY玩家

积分
1450
发表于 昨天 13:20 | 显示全部楼层
可能需要分开存储
尝试分两段

点评

我想知道,是keil的问题呢,还是单片机不支持,,分开存储,程序写起来麻烦很多  发表于 昨天 13:22
真正的学徒往往怀着大师的心
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:651
  • 最近打卡:2026-03-31 10:58:01
已绑定手机

52

主题

2527

回帖

8888

积分

论坛元老

积分
8888
发表于 昨天 13:58 | 显示全部楼层
keil编译器的限制
截图202603311358247902.jpg

点评

已经按这个图改了,还是报错。。。  发表于 昨天 16:28
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:256
  • 最近打卡:2026-03-31 08:38:02
已绑定手机

22

主题

631

回帖

2338

积分

金牌会员

积分
2338
发表于 昨天 15:55 | 显示全部楼层

deepseek是错的,你试试就知道了
截图202603311557012931.jpg

点评

事实上,我用huge定义的变量,编译后,可以看到edata+hdata的数字在增长  发表于 昨天 16:59
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:651
  • 最近打卡:2026-03-31 10:58:01
已绑定手机

52

主题

2527

回帖

8888

积分

论坛元老

积分
8888
发表于 昨天 17:43 | 显示全部楼层
重点是画红色下划线的文字。

截图202603311744227588.jpg

将"led_show.c"文件里面的代码分一部分到其它 C 文件里面。避免这个文件里面的代码量超过64K。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-1 03:39 , Processed in 0.112117 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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