GD32 SRAM

[复制链接]
 楼主| PlusVictory 发表于 2023-12-23 11:41 | 显示全部楼层 |阅读模式
项目之前一直使用的STM32F103RBT6,后来移植到GD32F103RBT6,使用都正常,最近增加了一些功能,需要增加一些全局缓存区,结果发现编译无法通过,才发现已超出容量,对比之前st和gd能正常工作的两个版本,编译后那个ZI-data差别非常大,不会上传截图,文字给大家描述下,想问下大家这是什么情况,有遇到类似的么?
gd32f103rbt6:
Program Size: Code=44062 RO-data=4362 RW-data=136 ZI-data=19976  
stm32f103rbt6:
Program Size: Code=56310 RO-data=3882 RW-data=236 ZI-data=5556  
为什么同样的全局变量缓存区,两个芯片编译后差别这么大?
LcwSwust 发表于 2023-12-23 13:54 | 显示全部楼层
本帖最后由 LcwSwust 于 2023-12-23 13:55 编辑

检查startup__.s文件中的堆栈大小。
自己看一下map文件,或把两个工程传上来。
储小勇_526 发表于 2023-12-23 14:38 | 显示全部楼层
按照楼上的说法先看一下呢,正好最近也要移植代码,多关注下,免得掉坑里
储小勇_526 发表于 2023-12-23 14:38 | 显示全部楼层
本帖最后由 储小勇_526 于 2023-12-23 14:40 编辑

感觉flash里面一部分数据变到RAM里面了嘛,魔术棒打开看看哪里设置不一样
lemonboard 发表于 2023-12-23 14:50 | 显示全部楼层
这个估计要具体分析了
kaif2n9j 发表于 2023-12-28 14:01 | 显示全部楼层
你定义的变量太多了呗
w2nme1ai7 发表于 2023-12-28 15:08 | 显示全部楼层
看看你的代码,是不是有全局变量搞得太多了啊?
tax2r6c 发表于 2023-12-28 17:19 | 显示全部楼层
你可以将全局变量改成结构体或者是联合体,而且少定义一些全局变量比较好
q1d0mnx 发表于 2023-12-28 20:05 | 显示全部楼层
可能是优化的等级不一样?
ex7s4 发表于 2023-12-29 07:08 | 显示全部楼层
你说是同样的全局变量啊?不应该啊,差距好大啊
y1n9an 发表于 2023-12-29 08:24 | 显示全部楼层
是不是两个工程的优化等级不一样啊
l1uyn9b 发表于 2023-12-29 09:37 | 显示全部楼层
改改你的全局变量呗,看看哪里不需要直接去掉屏蔽
p0gon9y 发表于 2023-12-29 10:30 | 显示全部楼层
Code的大小也不一样,差的也不小呢
t1ngus4 发表于 2023-12-29 12:53 | 显示全部楼层
这估计是你的优化的问题,使用的开发环境不一样吧这是
classroom 发表于 2023-12-29 15:13 | 显示全部楼层
检查编译器和链接器设置
laocuo1142 发表于 2023-12-29 15:13 | 显示全部楼层
检查两个版本的代码,看看是否有任何明显的差异,特别是与全局变量和函数实现有关的差异。
flycamelaaa 发表于 2023-12-29 15:13 | 显示全部楼层
调整编译器优化级别
powerantone 发表于 2023-12-29 15:14 | 显示全部楼层
如果您使用的是链接脚本,尝试调整链接脚本的设置,看看是否可以减小程序的大小。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部