打印

求教nandflash文件系统

[复制链接]
788|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
3123|  楼主 | 2015-1-14 12:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用的是GD32107C。
老板给了一个编译成库的文件系统,我把某帖子给的例程里面的驱动套到这个库的接口,对于那个例程里面用的小页驱动我改成了大页驱动,初步测试没问题。
之后调用头文件给的这个文献系统初始化函数。
/***********************************************************************
* efs_initialize
*
* Initialize the filesystem and mount the root filesystem.
*
* Returns 0 on success, otherwise returns an error code (does not set
* errno).
**********************************************************************/
int efs_initialize (void);
结果连main函数都没进去,直接在系统配置时钟的时候硬错误了。
考虑到工程相当混乱,请给一些经验方面的建议或者想法之类的就好,实际浏览文件的话太浪费时间了。
这是错误报告:
沙发
sunmeat| | 2015-1-15 08:28 | 只看该作者
晕,看不懂,话说,你GD32的时钟配置是多少的

使用特权

评论回复
板凳
3123|  楼主 | 2015-1-15 10:30 | 只看该作者
经过排查,发现问题出在某个static过大,编译之后大幅增加ZI-DATA。
但是按道理有0x40000的内存,不应该不够用啊?求教原因以及如何配置使得内存分配合理。
这是可以正常运行的情况:Program Size: Code=39384 RO-data=5460 RW-data=580 ZI-data=75572  
这是出错的情况:Program Size: Code=39392 RO-data=5460 RW-data=580 ZI-data=144364  

使用特权

评论回复
地板
3123|  楼主 | 2015-1-15 10:41 | 只看该作者
刚刚复习了一下手册,发现和ZI-DATA相关的是SRAM,且大小是96k,我一直以为flash和sram是同一个东西,我真愚蠢

使用特权

评论回复
5
3123|  楼主 | 2015-1-15 11:49 | 只看该作者
还是搞不懂static,我在main函数所在的文件定义会加到ZI-DATA上,在别的文件定义就不影响ZI-DATA大小,在别的文件定义再在main里面用指针指向也有影响,但是在别的文件的函数用指针指向就没有影响。

使用特权

评论回复
评分
参与人数 1威望 +5 收起 理由
sunmeat + 5
6
sunmeat| | 2015-1-16 15:19 | 只看该作者
我觉得应该是和编译器的设置有关了,这个应该是可以修改的

使用特权

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

本版积分规则

11

主题

37

帖子

0

粉丝