OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5029|回复: 1

freertos 用信号量同步的时候,多任务运行,老是崩溃,各位有没遇到过

[复制链接]

4

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
340
金钱
340
注册时间
2017-12-6
在线时间
50 小时
发表于 2017-12-7 16:22:14 | 显示全部楼层 |阅读模式
5金钱
freertos 用信号量同步的时候,多任务运行,老是崩溃,各位有没遇到过
目前移植了,freertos 系统,所以需要用到,线程同步,然后使用信号量,目前看了老师讲的二值的信号量,那一章,
开始用到自己的工程里,今天刚试了下,就起了两个任务,对一个全局变量做同步,改好一跑就死掉了,
不论二值信号量还是互斥信号量都试了下,都是死机,使用时都是成对使用
注释掉信号量部分,程序正常运行
保留一个任务的成对信号量也是可以运行的,就是把另一个任务中信号量使用注释掉


很疑惑,信号量不就应该,多任务使用的吗,为什么现在一使用就死掉了,反而是在一个任务里使用 能正常运行?




最佳答案

查看完整内容[请看2#楼]

已经解决,分享一下原因,我是直接用的老师那个 LED工程的,工程中,创建了三个任务,设置的堆栈,前面两个任务都是 50 ,第三个任务是 128,刚好我用的是前面两个任务,应该是堆栈太小,我用仿真器试了下,直接进入了硬中断,所以回头去看了堆栈,现在改了就好了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
340
金钱
340
注册时间
2017-12-6
在线时间
50 小时
 楼主| 发表于 2017-12-7 16:22:15 | 显示全部楼层
已经解决,分享一下原因,我是直接用的老师那个 LED工程的,工程中,创建了三个任务,设置的堆栈,前面两个任务都是 50 ,第三个任务是 128,刚好我用的是前面两个任务,应该是堆栈太小,我用仿真器试了下,直接进入了硬中断,所以回头去看了堆栈,现在改了就好了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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