找回密码
 立即注册
查看: 887|回复: 8

stc8h8k64u keil编译,代码空间不够,编译失败

[复制链接]

1

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-11-3 14:35:03 | 显示全部楼层 |阅读模式
做项目过程中遇到一个编译问题,用的MCU:stc8h8k64u,使用keil5编译,出现代码空间不够,编译失败,如下图所示:

截图202311031427418233.jpg


编译后的代码量如下图所示:
截图202311031429144828.jpg


知道一种解决办法是修改编译选项,Memory Model,默认是第一个选项small,改成后面两个就可以编译通过;但是不知道这种方法是否是最优解决办法,
所以请教下大家这个问题:这种解决方法是否最优,是否有更好的办法。
截图202311031431522383.jpg

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2023-11-3 14:51:47 | 显示全部楼层
大数组 可以在定义时 直接放在  xdata 区域
回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-11-3 15:20:17 | 显示全部楼层
gentl*** 发表于 2023-11-3 14:51
大数组 可以在定义时 直接放在  xdata 区域

还没有加大数组啊,只有一个4*4的数组
回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-11-3 15:21:23 | 显示全部楼层
lyz*** 发表于 2023-11-3 15:20
还没有加大数组啊,只有一个4*4的数组

4*4数组加code属性后,data减少,但还是超出的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2023-11-3 15:31:51 | 显示全部楼层
lyz*** 发表于 2023-11-3 15:21
4*4数组加code属性后,data减少,但还是超出的
默认 data 空间超过128字节就会报错

截图202311031530479549.jpg

将一些数组,不常用的变量,加 xdata 关键字,定义到 xdata 空间
例如: unsigned char xdata buf[128];
回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-11-3 15:41:07 | 显示全部楼层
乘风*** 发表于 2023-11-3 15:31
默认 data 空间超过128字节就会报错

基本都是单个的变量,也只能加xdata关键字?

点评

默认data空间有限,多出的变量需要定义到xdata空间。  发表于 2023-11-3 16:18
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-12-27 15:57:04

26

主题

166

回帖

1221

积分

金牌会员

积分
1221
发表于 2023-11-3 16:24:06 | 显示全部楼层
这个勾上就可以了吧
未标题-2.jpg


回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-11-3 16:37:28 | 显示全部楼层
aho*** 发表于 2023-11-3 16:24
这个勾上就可以了吧

貌似不行哦,一样的效果
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 22:14 , Processed in 0.136055 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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