OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5255|回复: 2

emWin+FATFS移植编译出错,求助

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2014-10-14
在线时间
1 小时
发表于 2014-10-14 16:32:12 | 显示全部楼层 |阅读模式
5金钱

STM32小白一个,最近在移植emWin+FATFS,emWin移植是参照论坛上的例程弄的,FATFS是参照战舰教程弄的。移植emWin成功,于是接着移植FATFS,把战舰FATFS的例程复制到我的程序了,单个文件编译一切正常,可是在初始化的时候,只要加上exfuns_init();mem_init(SRAMIN);exfuns_init();这几个函数,编译的时候就会出现这样的提示
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.bss).
..\OBJ\Template.axf: Error: L6407E: Sections of aggregate size 0xa000 bytes could not fit into .ANY selector(s).
把这几个函数注释掉就能正常编译,百度上说是没破解的原因,可是我的KEIL是破解了的,下面上图,希望得到高手相助,万分感谢!!!


注释掉这三个函数就能正常编译,SD卡也能正常检测到;


去掉注释,编译就会出现这样的提示!!

最佳答案

查看完整内容[请看2#楼]

exfuns_init()不能调用两次,调用一次就行了。还有将你的malloc.h中的内部内存池MEM1_MAX_SIZE改小一点试一下
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-10-14 16:32:13 | 显示全部楼层
exfuns_init()不能调用两次,调用一次就行了。还有将你的malloc.h中的内部内存池MEM1_MAX_SIZE改小一点试一下
开往春天的手扶拖拉机
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2014-10-14
在线时间
1 小时
 楼主| 发表于 2014-10-14 21:01:45 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
问题已经解决,把MEM1_MAX_SIZE由40*1034改成10*1024之后编译就正常了,万分感谢!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 13:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表