硬汉嵌入式论坛

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

[FreeRTOS] Freertos 堆栈单位是WORD,应该是2字节吧?例程里怎么是4字节

[复制链接]

100

主题

275

回帖

575

积分

金牌会员

积分
575
发表于 2016-4-15 14:59:55 | 显示全部楼层 |阅读模式
问题1:xTaskCreate(    vTaskStart,     /* èÎÎñoˉêy  */
                    "vTaskStart",   /* èÎÎñÃû    */
                    512,            /* stack大小,单位word,也就是4字节 */
                    NULL,           /* èÎÎñ2Îêy  */
                    4,              /* èÎÎñóÅÏ輶*/
                    NULL );         /* èÎÎñ¾ä±ú  */

这里定义512 ,一共是512*2 字节吧?


问题2:
所有任务里定义的堆栈总和不能超过下面这个定义的大小吧?
#define configTOTAL_HEAP_SIZE                ( ( size_t ) ( 20 * 1024 ) )
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2016-4-15 15:35:49 | 显示全部楼层
1. 单位是4字节,即512*4
2. 对的,而且任务控制块的变量也要用这个空间,已经用户使用FreeRTOS的动态内存申请和释放函数,也是用的这部分
    简单的说就是,所有FreeRTOS相关的内存,基本都是用的这里,除了局部变量和全局变量。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 02:15 , Processed in 0.152924 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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