sinceac 发表于 2017-5-13 15:33:12

F427ZG程序无法运行,求助

本帖最后由 sinceac 于 2017-5-13 15:37 编辑

最近在F427ZG上开发一个比较多功能的程序,现在发现当我加入一些变量或代码后,会导致程序运行出错。下面是map文件里的统计信息   Total ROSize (Code + RO Data)                75496 (73.73kB)
    Total RWSize (RW Data + ZI Data)             89960 (87.85kB)
    Total ROM Size (Code + RO Data + RW Data)      76496 (74.70kB)


Angel_YY 发表于 2018-4-4 18:01:47

Code是代码占用的空间;
RO-data是 Read Only 只读常量的大小,如const型;
RW-data是(Read Write) 初始化了的可读写变量的大小;
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;
简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data
程序运行的时候,芯片内部RAM使用的空间为:               RW Data + ZI Data
从提供的map文件看,程序占用Flash不大,对于1M的Flash来说很小了,但是 ZI Data为什么这么大?难道是在函数内部使用的大量内存?只从map文件很难判断问题所在。

toofree 发表于 2018-4-6 23:35:56

根据你的信息,是无法判断什么地方出错的。
F427ZG空间很大,放你这点程序根本不在话下。

加入的变量或代码,只要与原有程序不冲就没问题。比如变量是不是与其它地方有冲突,主程序中定义了一个全局变量,而在其它函数内或文件内又定义了一个同名的局部变量,此时全局变量在这些函数或文件中不起作用;控制的外设,是不是几个函数都控制了同一个外设。
页: [1]
查看完整版本: F427ZG程序无法运行,求助