编译的时候显示ZI_data比标称内存大

2019-07-20 10:41发布

我用STM32F407单片机,内部SRAM196k,加上外扩的1024K一共1220k,但是编译的时候显示ZI_data=1220420,为什么会比1220K还大

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
馒头弟
1楼-- · 2019-07-21 02:45
小小怪 发表于 2017-1-19 11:18
1220Kb=1220*1024=1249280 byte

我用F411CC,flash 256k,sram 128k。
编译后信息如图,能够正常运行,不知道为什么。
我觉得会出问题。。帮我看一下,谢谢!@正点原子  
馒头弟
2楼-- · 2019-07-21 03:44
馒头弟 发表于 2017-11-28 14:35
我用F411CC,flash 256k,sram 128k。
编译后信息如图,能够正常运行,不知道为什么。
我觉得会出问题。 ...

我检查了下,除了fatfs和USB Mass的移植没看,其他哪有占用 1240320 这么多,如何检查呢?
小小怪
3楼-- · 2019-07-21 07:02
 精彩回答 2  元偷偷看……
馒头弟
4楼-- · 2019-07-21 10:25
小小怪 发表于 2017-11-28 17:11
编译OK后查看 .map文件,看看是哪个文件占用大

谢谢,受教了!定位到了malloc里面,定义的三个内存块,内部SRAM100k,外部960k,CCM60k。定义了未使用的我把它缩小了,变成:内部SRAM10k,外部10k,CCM60K。这样ZI-data就小了。另外请教一下,这些数值和*.s文件中的Heap_Size没关系吧?Heap_Size只用于标准库的malloc?
小小怪
5楼-- · 2019-07-21 13:12
 精彩回答 2  元偷偷看……

一周热门 更多>