OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 264|回复: 1

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

[复制链接]

  离线 

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

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


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




最佳答案

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

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

使用道具 举报

  离线 

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-4-25 07:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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