硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1957|回复: 11
收起左侧

[emWin] emWin矢量字库例子使用的Micro LIB问题?

[复制链接]

20

主题

121

回帖

181

积分

初级会员

积分
181
发表于 2018-1-5 16:06:32 | 显示全部楼层 |阅读模式
emWin矢量字库例子默认是使用Micro LIB,如去掉则显示如下错误:
.\Flash\Obj\output.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f429_439xx.o(HEAP).
.\Flash\Obj\output.axf: Error: L6407E: Sections of aggregate size 0x100000 bytes could not fit into .ANY selector(s).
为什么这样?求解?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115754
QQ
发表于 2018-1-5 16:14:55 | 显示全部楼层
提示你的RAM空间不足了。学习下新版emWin教程的矢量章节,将heap空间使用SDRAM。
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-1-5 16:50:15 | 显示全部楼层
已经修改为2M好像还是不够
                    
Heap_Size       EQU     0x00200000                          ;堆栈大小2M。
   
                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base     EQU     0xC1E00000                          ;堆栈起始地址,即32MB SDRAM最后2MB空间的起始地址。
Heap_Mem        SPACE   Heap_Size
__heap_limit    EQU     0xC1FFFFFF                          ;堆栈结束地址,即32MB SDRAM最后2MB空间的结束地址。
      
                PRESERVE8
                THUMB
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115754
QQ
发表于 2018-1-5 16:59:02 | 显示全部楼层
magicoctoier 发表于 2018-1-5 16:50
已经修改为2M好像还是不够
                    
Heap_Size       EQU     0x00200000                   ...

这些你根据现象,看着分配就好了。
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-1-22 22:31:54 | 显示全部楼层
本帖最后由 magicoctoier 于 2018-1-22 22:39 编辑
eric2013 发表于 2018-1-5 16:59
这些你根据现象,看着分配就好了。

emWin的矢量字库列子中,将C/C++配置use Micro LIB 去掉√
Heap_Size       EQU     0x00100000


AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base     EQU     0xC0E00000
Heap_Mem        SPACE   Heap_Size
__heap_limit    EQU     0xC0FFFFFF


                PRESERVE8
                THUMB
提示:
.\Flash\Obj\output.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f429_439xx.o(HEAP).
.\Flash\Obj\output.axf: Error: L6407E: Sections of aggregate size 0x100000 bytes could not fit into .ANY selector(s).


但是将堆地址改为内部RAM时就可以:
Heap_Size       EQU     0x00002000


AREA    HEAP, NOINIT, READWRITE, ALIGN=3
Heap_Mem        SPACE   Heap_Size
                PRESERVE8
                THUMB

1、不使用use Micro LIB,堆地址只能使用内部RAM?
2、不使用use Micro LIB,堆地址又是外部SDRAM的应该怎么修改?
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-1-22 22:43:10 | 显示全部楼层
真奇怪!改小堆地址就可以了。
Heap_Size       EQU     0x00029000

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base     EQU     0xC0E00000
Heap_Mem        SPACE   Heap_Size
__heap_limit    EQU     0xC0FFFFFF

                PRESERVE8
                THUMB

堆定义在外部SDRAM时,Heap_Size       EQU     0x00029000   小于29000都正常编译通过,大于29000后就报错。
use micro lib还有和这个有关系?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115754
QQ
发表于 2018-1-23 01:56:58 | 显示全部楼层
magicoctoier 发表于 2018-1-22 22:43
真奇怪!改小堆地址就可以了。
Heap_Size       EQU     0x00029000

没有关系,你的工程是不是异常了,可以找个简单的例子配置下这个heap,是否有问题。
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-1-23 13:26:58 | 显示全部楼层
eric2013 发表于 2018-1-23 01:56
没有关系,你的工程是不是异常了,可以找个简单的例子配置下这个heap,是否有问题。

工程直接使用的是:V6-539_STemWin实验_矢量全字库,支持中文,Unicode编码(裸机)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115754
QQ
发表于 2018-1-23 15:03:33 | 显示全部楼层
magicoctoier 发表于 2018-1-23 13:26
工程直接使用的是:V6-539_STemWin实验_矢量全字库,支持中文,Unicode编码(裸机)

QQ截图20180123150230.jpg
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-1-23 15:15:17 | 显示全部楼层
本帖最后由 magicoctoier 于 2018-1-23 15:20 编辑

去掉use Micro LIB,这样就不行!
无标题.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115754
QQ
发表于 2018-1-23 15:26:25 | 显示全部楼层
magicoctoier 发表于 2018-1-23 15:15
去掉use Micro LIB,这样就不行!

这种修改方式不支持不使用微库MicroLib。

好了,这个问题就交流这么多,不再交流了。
回复

使用道具 举报

20

主题

121

回帖

181

积分

初级会员

积分
181
 楼主| 发表于 2018-3-27 00:01:49 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-16 08:07 , Processed in 0.502220 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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