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

8G1K08A-SOP8 使用库函数编译后,bin文件较大的原因?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-10 14:49:56
已绑定手机

1

主题

3

回帖

23

积分

新手上路

积分
23
发表于 2025-3-7 17:09:36 | 显示全部楼层 |阅读模式
使用8G1K08A-SOP8库函数实现串口、定时器、INT1、ADC和两输出I/O,
整个工程编译后bin文件大小超过8K空间,
想问一下这边库函数和使用了很多结构体会造成这么的空间占用吗?

回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-7 17:12:00 | 显示全部楼层
STC8G1K08A-SOP8的bin文件较大,主要原因在于库函数和结构体的使用。库函数通常包含通用代码,虽提升开发效率,但可能引入冗余代码。结构体占用空间较大,尤其包含指针或数组时。此外,编译器优化不足、调试信息未去除也会增加文件大小。建议检查库函数调用,优化结构体设计,开启编译器优化选项,去除调试信息,以减少bin文件大小。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-7 17:18:00 | 显示全部楼层
STC8G1K08A-SOP8的Flash空间有限,使用库函数和结构体确实会增加bin文件的大小。库函数通常包含通用代码和冗余功能,结构体会引入额外的内存开销。建议优化代码,减少库函数依赖,手动实现关键功能,使用更紧凑的数据类型,并启用编译器优化选项以减小生成文件。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-3-7 17:22:59 | 显示全部楼层
你用 ISP 软件将程序打开,一步步截图发上来,大家帮分析
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-3-7 20:31:23 | 显示全部楼层
可以使用REMOVEUNUSED不编译未使用的变量和函数
程序大小看编译器显示的信息中的code大小,不是hex文件大小
bin大小可能是程序大小,但keil编译器不能生成bin文件
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-10 14:49:56
已绑定手机

1

主题

3

回帖

23

积分

新手上路

积分
23
发表于 2025-3-10 14:49:56 | 显示全部楼层
我重新使用寄存器的方式写,发现使用了printf函数就会增加1k左右的bin文件大小。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-10 14:49:56
已绑定手机

1

主题

3

回帖

23

积分

新手上路

积分
23
发表于 2025-3-10 14:50:59 | 显示全部楼层
STC中有比较好的串口打印函数吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-29 10:30:51

13

主题

429

回帖

2366

积分

超级版主

积分
2366
发表于 2025-3-10 15:22:17 | 显示全部楼层
printf函数 的 格式参数; USB接口 使用 printf 打印数据
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=6864
(出处: 国芯技术交流网站)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-10 14:49:56
已绑定手机

1

主题

3

回帖

23

积分

新手上路

积分
23
发表于 2025-3-10 17:11:01 | 显示全部楼层
我用的是USB转串口的模块与电脑通信的,也就是使用串口输出的,格式化字符串无法输出嘛
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:13 , Processed in 0.124327 second(s), 97 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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