FreeRTOS中栈大小设置的疑问

jianchaoyv 2017-09-25 03:54:55
在使用FreeRTOS时一直存在对栈设置的疑问,见以下三点疑问:
1、Starup_stm32f40_41xxx.s中的 “Stack_Size EQU 0x00001000”这里的设置的作用?
2、在工程“options”——“target”设置中IRAM1的start地址、size大小中size大小的用处?
3、在FreeRTOSConfig.h中,宏定义#define configTOTAL_HEAP_SIZE ((size_t)(55*1024))的作用?
三个设置栈大小的地方之间又有何种联系?多谢!
...全文
1834 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Doee hc 2020-05-11
  • 打赏
  • 举报
回复 1
水滴重甲 2020-05-11
  • 打赏
  • 举报
回复 1
1、Starup_stm32f40_41xxx.s中的 “Stack_Size EQU 0x00001000”这里的设置的作用?

设置task的栈大小

2、在工程“options”——“target”设置中IRAM1的start地址、size大小中size大小的用处?

首先你要搞清楚,IRAM是啥,iram就是内部ram的意思,你可以把对运行速度有要求的代码放里面,比如中断处理函数。开始地址就是IRAM的起始地址,size大小就是IRAM有多大,设置大小,是防止用户用的时候溢出了,溢出了可以检测到。


3、在FreeRTOSConfig.h中,宏定义#define configTOTAL_HEAP_SIZE ((size_t)(55*1024))的作用?

configTOTAL_HEAP_SIZE 设置的是堆大小,可以程序员自己alloc的地址,设置这个大小,如果你发现alloc的收fail了,就是已经到达这个size的最大值了。
worldy 2017-09-26
  • 打赏
  • 举报
回复
一个的栈、一个是IRAM,一个是堆,完全不同性质的

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧