freeRTOS 内存使用以及任务栈的使用情况查看

本文介绍了如何在freeRTOS系统中查看内存使用总览,包括通过keil调试器或map文件获取heap信息来判断内存使用情况。同时,详细阐述了任务栈的使用检查方法,通过任务TCB获取栈的起始位置,并通过栈中的数据判断未使用和已使用部分,以估算任务所需的最小栈空间,从而实现资源优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、RTOS内存使用总的情况的查看

heap1中的关键变量,包括ucHeap,和xNextFreeByte。 前者就是rtos系统堆,后者标识了当前内存的使用量

他们的地址一方面可以直接在keil在线调试时获得,但是有时在线调试不能获得他们的地址(没有debug到这些变量时,可能获取不到),可以从map文件中查找



从keil中查看xNextFreeByte的值即可了解系统已经使用了多少内存。如下图:


2、task 栈的使用情况的查看

任务TCB的第一个参数就是task stack指针的当前位置,也就是说task刚建立时的stack位置,大体就是栈的起始位置


task的handle地址即TCB地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值