打印

GD32 SRAM

[复制链接]
525|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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里面了嘛,魔术棒打开看看哪里设置不一样

使用特权

评论回复
5
lemonboard| | 2023-12-23 14:50 | 只看该作者
这个估计要具体分析了

使用特权

评论回复
6
kaif2n9j| | 2023-12-28 14:01 | 只看该作者
你定义的变量太多了呗

使用特权

评论回复
7
w2nme1ai7| | 2023-12-28 15:08 | 只看该作者
看看你的代码,是不是有全局变量搞得太多了啊?

使用特权

评论回复
8
tax2r6c| | 2023-12-28 17:19 | 只看该作者
你可以将全局变量改成结构体或者是联合体,而且少定义一些全局变量比较好

使用特权

评论回复
9
q1d0mnx| | 2023-12-28 20:05 | 只看该作者
可能是优化的等级不一样?

使用特权

评论回复
10
ex7s4| | 2023-12-29 07:08 | 只看该作者
你说是同样的全局变量啊?不应该啊,差距好大啊

使用特权

评论回复
11
y1n9an| | 2023-12-29 08:24 | 只看该作者
是不是两个工程的优化等级不一样啊

使用特权

评论回复
12
l1uyn9b| | 2023-12-29 09:37 | 只看该作者
改改你的全局变量呗,看看哪里不需要直接去掉屏蔽

使用特权

评论回复
13
p0gon9y| | 2023-12-29 10:30 | 只看该作者
Code的大小也不一样,差的也不小呢

使用特权

评论回复
14
t1ngus4| | 2023-12-29 12:53 | 只看该作者
这估计是你的优化的问题,使用的开发环境不一样吧这是

使用特权

评论回复
15
classroom| | 2023-12-29 15:13 | 只看该作者
检查编译器和链接器设置

使用特权

评论回复
16
laocuo1142| | 2023-12-29 15:13 | 只看该作者
检查两个版本的代码,看看是否有任何明显的差异,特别是与全局变量和函数实现有关的差异。

使用特权

评论回复
17
flycamelaaa| | 2023-12-29 15:13 | 只看该作者
调整编译器优化级别

使用特权

评论回复
18
powerantone| | 2023-12-29 15:14 | 只看该作者
如果您使用的是链接脚本,尝试调整链接脚本的设置,看看是否可以减小程序的大小。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝