OpenEdv-开源电子网

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

STM32F407移植STemWIN和FreeRTOS,编译提示存储空间不够!!!

[复制链接]

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
发表于 2018-4-23 18:53:14 | 显示全部楼层 |阅读模式
10金钱
    如题,以及下面给出的现象。
    首先,我想说明的是单独移植emWin5.40(裸机工作,不带操作系统),此时emWIN是正常工作的,没有任何错误信息的提示。      再次,我单纯的移植FreeRTOS的时候(只有FreeRTOS以及板载外设驱动,没有emWIN),此时FreeRTOS的运行也是正常的,没有任何的错误信息提示。
   然后,当我把emWin5.40和FreeRTOS一起移植到STM32F407ZGT6,外部有一个SRAM,也就是把emWin的Lib库改为了STemWin540_CM4_OS_Keil.lib之后,配置文件选择了使用操作系统,然后再次编译,main函数中还没有运行任务,就是一些外设的初始化,基本没有干什么事情,但是此时编译出现了很多问题。应该不是存储空间不足的问题,之前在STM32F107上的板子都移植成功了的,而且还没有外部的SRAM,为什么会出现这个错误呢?  请问要如何更改?  望大神告知!!!
error1.png
error2.png

最佳答案

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

看起来的确是空间不够,虽然不太清楚为什么;注释掉“quene.c”的一个函数就OK,但是不是这个函数造成的,应该是这个函数被调用后编译就会变得很大;将主芯片换成2M的FLASH的F429ZI就OK,具体原因没能找出来,对FREERTOS底层没什么研究
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2018-2-27
在线时间
36 小时
发表于 2018-4-23 18:53:15 | 显示全部楼层
看起来的确是空间不够,虽然不太清楚为什么;注释掉“quene.c”的一个函数就OK,但是不是这个函数造成的,应该是这个函数被调用后编译就会变得很大;将主芯片换成2M的FLASH的F429ZI就OK,具体原因没能找出来,对FREERTOS底层没什么研究

注释掉它,没有提示“No space...”

注释掉它,没有提示“No space...”

429ZI 没有提示“No space...”

429ZI 没有提示“No space...”
捕获3.PNG
回复

使用道具 举报

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
 楼主| 发表于 2018-4-23 21:47:32 | 显示全部楼层
自己顶一下,大家有没有遇到这种情况啊?应该不是存储空间不够的问题,应该怎么解决啊?  玛法知道的给个答案!!!
回复

使用道具 举报

0

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2018-2-27
在线时间
36 小时
发表于 2018-4-23 21:48:06 | 显示全部楼层
发工程上来看看吧
回复

使用道具 举报

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
 楼主| 发表于 2018-4-24 11:16:28 | 显示全部楼层
     工程在这里给出了,大家可以打开看看。

STM32F407_EMWIN_FreeRTOS.zip

5.99 MB, 下载次数: 295

STM32F407_EMWIN_NO_OS.zip

5.9 MB, 下载次数: 123

回复

使用道具 举报

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
 楼主| 发表于 2018-4-24 11:16:56 | 显示全部楼层
TCX 发表于 2018-4-23 21:48
发工程上来看看吧

工程在底下给出了
回复

使用道具 举报

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
 楼主| 发表于 2018-4-25 10:14:13 | 显示全部楼层
TCX 发表于 2018-4-23 18:53
看起来的确是空间不够,虽然不太清楚为什么;注释掉“quene.c”的一个函数就OK,但是不是这个函数造成的, ...

    嗯,谢谢你,其实昨晚我已经找到原因了,就是FreeRTOS的配置的问题,默认配置给FreeRTOS分配了75KB的内存空间,我把它该小了,编译就通过了。   不知道那个内存空间是怎么分配的,如果我想要在外部的SRAM中给FreeRTOS分配空间,应该怎么搞啊?
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2018-4-25 10:47:12 | 显示全部楼层
本帖最后由 candylife9 于 2018-4-25 10:48 编辑

手动调整下EXCUTION REGION的位置和大小应该可以解决。
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-4-25 11:24:51 | 显示全部楼层
把FreeRTOS的Heap数组attribute到外部SRAM
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((at(0X68000000)));
回复

使用道具 举报

4

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-10-3
在线时间
15 小时
 楼主| 发表于 2018-4-25 12:53:05 | 显示全部楼层
HCHDaLeiGe 发表于 2018-4-25 11:24
把FreeRTOS的Heap数组attribute到外部SRAM
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute_ ...

好的,这么一说我就懂了,非常感谢
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2019-9-5
在线时间
15 小时
发表于 2019-9-7 14:24:34 | 显示全部楼层
请问能分享你移植成功后的工程给我学习吗?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-8-26
在线时间
2 小时
发表于 2019-10-20 15:22:44 | 显示全部楼层
你好,你移植好的工程可以给我学习吗?妹子一个,移植好几天了都不行,到开发板跑都是白屏。
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6084
金钱
6084
注册时间
2018-6-27
在线时间
524 小时
发表于 2021-4-27 16:36:50 | 显示全部楼层
谢谢分享,学习学习。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-8-24
在线时间
8 小时
发表于 2021-7-19 09:30:09 | 显示全部楼层
确实是、好东西
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2011-8-10
在线时间
8 小时
发表于 2021-7-27 11:00:23 | 显示全部楼层
本帖最后由 cqarm 于 2021-7-27 11:05 编辑

STM32F103VET+freeRTOS10+STemWIN5.44内存都够用,仅内部64KB,未外扩RAMGUI配置RAM: 1024*24
freeRTOS配置RAM:1024*15
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 22:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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