OpenEdv-开源电子网

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

移植汉字显示程序,提示内存空间不够?

[复制链接]

30

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-5-4
在线时间
56 小时
发表于 2019-5-22 11:19:05 | 显示全部楼层 |阅读模式
3金钱
程序编译之后出现多条关于内存空间不够的报错,主芯片是STM32F103C8T6,MDK->Target里的默认设置IROM1 size: 0x10000, IRAM1 size: 0x5000
把IROM1/IRAM1 size分别改成0x40000/0x10000(显然与实际不符)后编译通过,请问不做这项改动的情况下有什么办法通过编译吗?

.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.bss).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching flash.o(.bss).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f10x_md.o(STACK).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching exfuns.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f10x_rcc.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching rtc.o(.bss).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching ff.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching rtc.o(.data).
.\Objects\TM.axf: Error: L6406E: No space in execution regions with .ANY selector matching mmc_sd.o(.data).
.\Objects\TM.axf: Error: L6407E: Sections of aggregate size 0xaae4 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.

最佳答案

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

malloc.h这个文件里面的东西,你可以修改的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6745
金钱
6745
注册时间
2017-4-12
在线时间
1258 小时
发表于 2019-5-22 11:19:06 | 显示全部楼层
malloc.h这个文件里面的东西,你可以修改的
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2019-5-22 11:43:53 | 显示全部楼层
内存不够就是无法编译通过
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2019-5-22 13:05:10 | 显示全部楼层
实际芯片硬件资源就没有那么多,那改动编译够不能运行也没什么用,想办法优化代码,要么就换芯片
一分耕耘一分收获。
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-5-22 23:08:12 | 显示全部楼层
字库很大的,不要把字库链接到工程里面,动不动就好几M,上10M的。可以把字库下载到外部可寻址的FLASH中。
回复

使用道具 举报

30

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-5-4
在线时间
56 小时
 楼主| 发表于 2019-5-23 10:06:39 | 显示全部楼层
245925587 发表于 2019-5-22 11:46
malloc.h这个文件里面的东西,你可以修改的

目前将MEM_MAX_SIZE设到10k可以用了,谢谢!就是不知道后面工程变大会不会还是不够
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 16:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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