搜索
bottom↓
回复: 14

FreeRTOS可以挂起任务,无法删除任务

[复制链接]
(33037873)

出0入0汤圆

发表于 2020-3-25 22:46:57 | 显示全部楼层 |阅读模式
代码如下,同样的位置,任务可以被挂起,但是不能被删除。


系统会卡死在这里:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(32997597)

出0入0汤圆

发表于 2020-3-26 09:58:13 | 显示全部楼层
看起来,这里的问题是 vPortFree 的问题。
那边注释不是写着:Memory cannot be freed using this scheme. 不能释放内存,所以卡在断言处了。
本质不是删除函数的问题。
(32997527)

出0入0汤圆

发表于 2020-3-26 09:59:23 | 显示全部楼层
另外,你用什么 IDE?
在 VS 上,软件仿真?还是直接下到板子,在线调试?
(33037872)

出0入50汤圆

发表于 2020-3-25 22:46:58 | 显示全部楼层
heap类型用的不对,你当前用的是不能free的版本。你在freeRTOS config文件里看一下,或者你去找一下FreeRTOS Heap0~4的区别。
(32995462)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:33:48 | 显示全部楼层
security 发表于 2020-3-26 09:59
另外,你用什么 IDE?
在 VS 上,软件仿真?还是直接下到板子,在线调试?

谢谢,我用的是Atmel单片机,用的是他配套的IDE——Atmel Studio。
(32995396)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:34:54 | 显示全部楼层
lusson 发表于 2020-3-26 10:01
heap类型用的不对,你当前用的是不能free的版本。你在freeRTOS config文件里看一下,或者你去找一下FreeRTO ...

谢谢,我看一下,是用的heap1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(32995339)

出0入50汤圆

发表于 2020-3-26 10:35:51 | 显示全部楼层
黑暗骑士寒心雨 发表于 2020-3-26 10:34
谢谢,我看一下,是用的heap1

Heap1是不支持free的,建议去学习一下他几个heap类型的区别。
(32995316)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:36:14 | 显示全部楼层
lusson 发表于 2020-3-26 10:35
Heap1是不支持free的,建议去学习一下他几个heap类型的区别。

好的,非常感谢!
(32995257)

出0入50汤圆

发表于 2020-3-26 10:37:13 | 显示全部楼层
另外比较好奇你是什么情况下会需要删除task。
(32995090)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:40:00 | 显示全部楼层
lusson 发表于 2020-3-26 10:37
另外比较好奇你是什么情况下会需要删除task。

就是我这个程序会开机判断一下是否有TF卡,如果没有,这个任务就删除了。
(32995001)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:41:29 | 显示全部楼层
lusson 发表于 2020-3-26 10:37
另外比较好奇你是什么情况下会需要删除task。

我还想问一下,这个heap文件需要去哪里下载呢?
Atmel这个FreeRTOS是10.0.0版本,但是工程只有heap1,我需要去github下一个别的heap文件就可以兼容是吧?
(32994896)

出0入0汤圆

发表于 2020-3-26 10:43:14 | 显示全部楼层
黑暗骑士寒心雨 发表于 2020-3-26 10:40
就是我这个程序会开机判断一下是否有TF卡,如果没有,这个任务就删除了。 ...

那还不如没有 TF 卡,就不创建任务。
(32994809)

出0入50汤圆

发表于 2020-3-26 10:44:41 | 显示全部楼层
黑暗骑士寒心雨 发表于 2020-3-26 10:40
就是我这个程序会开机判断一下是否有TF卡,如果没有,这个任务就删除了。 ...

只是判断一下TF卡也要专门的task,真浪费。直接在其他task开始的地方判断就可以了啊。
尽量减少动态创建task以及删除task,OS更稳定。。

你去FreeRTOS官网下载,用法官网上也都有介绍,再不济网上搜一下也有。
(32994070)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:57:00 | 显示全部楼层
security 发表于 2020-3-26 10:43
那还不如没有 TF 卡,就不创建任务。

也是。。。
(32993963)

出0入0汤圆

 楼主| 发表于 2020-3-26 10:58:47 | 显示全部楼层
lusson 发表于 2020-3-26 10:44
只是判断一下TF卡也要专门的task,真浪费。直接在其他task开始的地方判断就可以了啊。
尽量减少动态创建t ...

好的,谢谢您!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-4-12 07:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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