硬汉嵌入式论坛

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

[FreeRTOS] freeRTOS的堆栈设置大小疑问

[复制链接]

4

主题

8

回帖

20

积分

新手上路

积分
20
发表于 2016-3-17 14:06:37 | 显示全部楼层 |阅读模式
各位大侠,我最近看了一下相关资料,发现有两处可以设置堆栈大小的,一个是系统freeRTOSconfig.h里面,#define configMINIMAL_STACK_SIZE,#define configTOTAL_HEAP_SIZE    ,另一个启动文件的汇编,Stack_Size      EQU     0x00000400,Heap_Size       EQU     0x00000800    这两者有什么关系呢?我的RAM只有8K
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2016-3-17 14:45:38 | 显示全部楼层
启动代码里面的stack是用于系统栈空间的,heap用于C库中的malloc,等函数使用的堆空间。
------------------------
FreeRTOS配置文件里面的是用于任务栈空间的,以及内部核变量等。
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2016-3-17 15:28:42 | 显示全部楼层

回 eric2013 的帖子

eric2013:启动代码里面的stack是用于系统栈空间的,heap用于C库中的malloc,等函数使用的堆空间。
------------------------
FreeRTOS配置文件里面的是用于任务栈空间的,以及内部核变量等。 (2016-03-17 14:45) 
MCU就那么一点点RAM,这两个是独立的,还是他们之间有包含关系呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2016-3-17 15:29:56 | 显示全部楼层

回 mmwjs 的帖子

mmwjs:MCU就那么一点点RAM,这两个是独立的,还是他们之间有包含关系呢?
 (2016-03-17 15:28) 
独立的。这么小的RAM,建议还是裸机吧,效率更高。
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2016-3-17 15:38:56 | 显示全部楼层

回 mmwjs 的帖子

mmwjs:MCU就那么一点点RAM,这两个是独立的,还是他们之间有包含关系呢?
 (2016-03-17 15:28) 
我可以这样理解吗:启动代码里的堆与栈,存放操作系统的变量(包括全局变量)等信息,配置文件中的栈是存放单个任务中的变量等信息。那么,一般说的栈溢出,是那个溢出?
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2016-3-17 15:40:25 | 显示全部楼层

回 eric2013 的帖子

eric2013:独立的。这么小的RAM,建议还是裸机吧,效率更高。 (2016-03-17 15:29) 
我可以这样理解吗:启动代码里的堆与栈,存放操作系统的变量(包括全局变量)等信息,配置文件中的栈是存放单个任务中的变量等信息。那么,一般说的栈溢出,是那个溢出?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2016-3-18 14:10:50 | 显示全部楼层

回 mmwjs 的帖子

mmwjs:

我可以这样理解吗:启动代码里的堆与栈,存放操作系统的变量(包括全局变量)等信息,配置文件中的栈是存放单个任务中的变量等信息。那么,一般说的栈溢出,是那个溢出?
凑活的可以这么理解,可以看下我的RTX教程这部分:
1.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 08:39 , Processed in 0.286312 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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