请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 100|回复: 11
收起左侧

[FreeRTOS] 关于任务调度

[复制链接]

1

主题

9

帖子

11

积分

新手上路

积分
11
发表于 6 天前 | 显示全部楼层 |阅读模式
汉哥,最近整FreeRTOS碰到个问题,百撕不得其姐,描述如下:有两个任务A,B,它们有不同的优先级,但运行时OS只调度优先级高的来运行,低优先级的任务始终不得运行,不知咋整,热血求教。。
回复

使用道具 举报

22

主题

1247

帖子

1291

积分

至尊会员

积分
1291
发表于 6 天前 | 显示全部楼层
高优先级的任务里面有让出CPU使用权的操作吗?比如延时函数。
回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 4 天前 | 显示全部楼层
sanit 发表于 2019-3-13 22:27
高优先级的任务里面有让出CPU使用权的操作吗?比如延时函数。

多谢回复。。。。。。
回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 4 天前 | 显示全部楼层
现在情况是这样滴,我再描述详细点。。
1. A,B任务是否创建成功(已创建成功);
2. A任务是否成功阻塞,调试发现能进入vTaskDelay(5 * portTICK_RATE_MS);这个函数并且判断是否溢出或者未溢出,说明可以进入阻塞状态;
3. A任务是否调用任务切换,taskYIELD()也调用了;
4. A任务堆栈空间加大也不行,
回复

使用道具 举报

5391

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
43672
QQ
发表于 4 天前 | 显示全部楼层
IOTMCU 发表于 2019-3-15 17:18
现在情况是这样滴,我再描述详细点。。
1. A,B任务是否创建成功(已创建成功);
2. A任务是否成功阻塞, ...

注意FreeRTOSConfig.h文件中支持的最大任务优先级设置参数,你任务的设置是否满足此要求
QQ截图20190315175643.jpg
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 4 天前 | 显示全部楼层
汉哥,这是我的配置文件,按说没错。
  1. #ifndef FREERTOS_CONFIG_H
  2. #define FREERTOS_CONFIG_H

  3. #define configUSE_PREEMPTION                        1
  4. #define configUSE_IDLE_HOOK                        1
  5. #define configUSE_TICK_HOOK                        1
  6. #define configCPU_CLOCK_HZ                        ( ( unsigned long ) 120000000 )
  7. #define configTICK_RATE_HZ                        ( ( portTickType ) 1000 )
  8. #define configMINIMAL_STACK_SIZE                ( ( unsigned short ) 190 )
  9. #define configTOTAL_HEAP_SIZE                        ( ( size_t ) ( 19 * 1024 ) )
  10. #define configMAX_TASK_NAME_LEN                ( 12 )
  11. #define configUSE_TRACE_FACILITY                0
  12. #define configUSE_16_BIT_TICKS                0
  13. #define configIDLE_SHOULD_YIELD                0
  14. #define configUSE_CO_ROUTINES                 0
  15. #define configUSE_MUTEXES                                0
  16. #define configUSE_RECURSIVE_MUTEXES        0
  17. #define        configUSE_COUNTING_SEMAPHORES 0
  18. #define        configUSE_ALTERNATIVE_API                0
  19. #define configCHECK_FOR_STACK_OVERFLOW        1
  20. #define configQUEUE_REGISTRY_SIZE                0

  21. #define configMAX_PRIORITIES                                        ( ( unsigned portBASE_TYPE ) 10 )
  22. #define configMAX_CO_ROUTINE_PRIORITIES                 ( 2 )

  23. #define INCLUDE_vTaskPrioritySet                                1
  24. #define INCLUDE_uxTaskPriorityGet                                1
  25. #define INCLUDE_vTaskDelete                                        1
  26. #define INCLUDE_vTaskCleanUpResources                        0
  27. #define INCLUDE_vTaskSuspend                                        1
  28. #define INCLUDE_xTaskResumeFromISR                        1
  29. #define INCLUDE_vTaskDelayUntil                                1
  30. #define INCLUDE_vTaskDelay                                        1
  31. #define INCLUDE_uxTaskGetStackHighWaterMark        1

  32. #define configYIELD_INTERRUPT_VECTOR                        16UL
  33. #define configKERNEL_INTERRUPT_PRIORITY                 255
  34. #define configMAX_SYSCALL_INTERRUPT_PRIORITY         191

  35. void vApplicationSetupInterrupts( void );

  36. #endif /* FREERTOS_CONFIG_H */
复制代码
回复

使用道具 举报

5391

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
43672
QQ
发表于 3 天前 | 显示全部楼层
IOTMCU 发表于 2019-3-15 23:04
汉哥,这是我的配置文件,按说没错。

那只能怀疑你的工程模板设计有问题了。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 前天 12:17 | 显示全部楼层
情况是这样滴(之前描述有点仓促):正常情况下2个任务都可以正常运行,然后运行一段时间(约一星期)后,某些设备会自动复位(某些又没有问题),然后就卡在任务高的优先级一直处在运行状态,低优先级的任务根本不执行,我们开始怀疑是硬件问题,但周立功硬说是软件问题,现在成了悬案。。。。。。
回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 前天 12:22 | 显示全部楼层
我把包发过来,望汉哥在百忙之中抽空一看,不胜感激。。

Project.zip

4.22 MB, 下载次数: 3

回复

使用道具 举报

1

主题

9

帖子

11

积分

新手上路

积分
11
 楼主| 发表于 前天 12:24 | 显示全部楼层
系统运行图。
微信图片_20190317122130.jpg
回复

使用道具 举报

22

主题

1184

帖子

1228

积分

至尊会员

积分
1228
发表于 前天 18:25 | 显示全部楼层
IOTMCU 发表于 2019-3-17 12:22
我把包发过来,望汉哥在百忙之中抽空一看,不胜感激。。

你发的是空文件?
QQ截图20190317182314.jpg
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

3

主题

10

帖子

16

积分

新手上路

积分
16
发表于 9 分钟前 | 显示全部楼层
IOTMCU 发表于 2019-3-17 12:17
情况是这样滴(之前描述有点仓促):正常情况下2个任务都可以正常运行,然后运行一段时间(约一星期)后, ...

你在高优先级的任务里面 加了taskdelay 没有?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-3-19 23:17 , Processed in 0.200093 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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