硬汉嵌入式论坛

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

[FreeRTOS] FreeRTOS 堆栈的疑问??

[复制链接]

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2018-5-8 10:07:55 | 显示全部楼层 |阅读模式
xTaskCreate( vTaskStart,                     /* 任务函数  */
                 "vTaskStart",                   /* 任务名    */
                 512,                            /* 任务栈大小,单位word,也就是4字节 */
                 NULL,                           /* 任务参数  */
                 4,                              /* 任务优先级*/
                 &xHandleTaskStart );  /* 任务句柄  */


#define configTOTAL_HEAP_SIZE                        ( ( size_t ) ( 20 * 1024 ) )               /*系统所有总的堆大小*/

在 FreeRTOS 系统里的堆栈  单位都是 word,也就是4字节.


那 这里是不是 应该算是 申请了 20 * 4 = 80KB 的 RAM。但是 map文件 里显示  只申请了  20KB,这是 为什么?


188371644198765be7190e17d9a463d.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2018-5-8 10:11:39 | 显示全部楼层
define configTOTAL_HEAP_SIZE                        ( ( size_t ) ( 20 * 1024 ) )   这里的单位是字节。

前面任务创建里面,那个但是是字,即4字节。
回复

使用道具 举报

8

主题

29

回帖

53

积分

初级会员

积分
53
发表于 2018-5-9 11:25:56 | 显示全部楼层
怎么在MAP文件中看出了堆栈有20K的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2018-5-10 01:44:15 | 显示全部楼层
fendoushuai 发表于 2018-5-9 11:25
怎么在MAP文件中看出了堆栈有20K的?

看具体map文件里面的具体分类即可。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 22:58 , Processed in 0.195875 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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