[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
补给站robomaster
 楼主| 2019-4-8 19:05:17 显示全部楼层
快拆你在隔壁好好拍卖,这是我的场子。

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
步兵陈小豪右边童鞋
2019-4-8 19:05:40 显示全部楼层
1、想问一下,在使用freertos 时,在中断配置上要注意什么,感觉freertos 会与定时器或者串口的中断冲突?
freeRTOS有一个管理中断最大优先级的宏定义  configLIBRAY_MAX_SYSCALLL_INTERRUPT_PRIORITY 当stm32的中断组设置为 NVIC_ProirityGroup_4的时候,freeRTOS会在进入临界区等一些操作的时候,屏蔽掉优先级低于 configLIBRAY_MAX_SYSCALLL_INTERRUPT_PRIORITY 的中断,退出临界区后会恢复。所以如果你想要一些中断不要被屏蔽的时候,设置优先级比这个高就可以,同时这些高优先级的中断里面不要有freeRTOS的相关函数, 而在在低优先级的中断使用带fromISR后缀的freeRTOS函数

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
步兵陈小豪右边童鞋
2019-4-8 19:06:09 显示全部楼层
2、通过任务之间的不停切换,其实本质是否跟开启定时器的原理差不多,相当于另辟一个线程?
不算是吧,还是跟定时器不太一样

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
补给站robomaster
 楼主| 2019-4-8 19:06:34 显示全部楼层
2、通过任务之间的不停切换,其实本质是否跟开启定时器的原理差不多,相当于另辟一个线程?

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
步兵陈小豪右边童鞋
2019-4-8 19:06:36 显示全部楼层
3、请问,程序写到什么程度可以上操作系统呢?我的程序(没有系统,主程序在定时器中断里)刚完成了基本功能,下一步要提升性能,要先优化算法吗?还是先升级RTOS?
   我觉得可以先试试操作系统,标准库的话,可以参考网上的一些教程进行移植,hal库的话,在cube上可以直接配置freeRTOS,入手的话,可以先使用任务切换的功能就可以,慢慢熟悉。使用操作系统的话,我觉得这样有助于你设计程序的架构逻辑等,有操作系统后进行开发,写程序还是有别于裸机开发。另外提升性能,我觉得你需要想清楚是什么样的性能,如果是控制性能,可能是研究好PID,参考上一期。

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
补给站robomaster
 楼主| 2019-4-8 19:07:07 显示全部楼层
4、在HAL库中,高优先级任务执行完后的osDelay的时间是不是就是下一级任务能执行的时间?这段时间过后又重新回到高优先级任务?

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
步兵陈小豪右边童鞋
2019-4-8 19:07:22 显示全部楼层
4、在HAL库中,高优先级任务执行完后的osDelay的时间是不是就是下一级任务能执行的时间?这段时间过后又重新回到高优先级任务?
  当程序进入了osDelay后,就进行任务切换进入下一级了,过程是当前最高优先级任务运行到osDelay就进入阻塞态,就会进行就绪态中的最高优先级的任务,等待延迟时间结束后就进入了就绪态,如果它是最高优先级的话就能马上运行了

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
补给站robomaster
 楼主| 2019-4-8 19:08:15 显示全部楼层
5、应该怎样找到自己程序各种任务的优先级?比如现在主要有三个任务,底盘、云台和各种打印LED等较无关的,这些任务的优先级还有怎样才能让他们切换得更流畅(就是一种比较好的任务切换方法)

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
步兵陈小豪右边童鞋
2019-4-8 19:08:31 显示全部楼层
5、应该怎样找到自己程序各种任务的优先级?比如现在主要有三个任务,底盘、云台和各种打印LED等较无关的,这些任务的优先级还有怎样才能让他们切换得更流畅(就是一种比较好的任务切换方法)

  一般是云台最高优先级,底盘其次,打印和led放最后。我是这样想的,底盘的运行模式会根据云台的模式有所不同,同时云台任务的周期比底盘的周期要短,故而云台要比底盘高。任务流畅的话,我觉得可能还是程序里面不要有太多无谓操作,减少时间延迟,如果用的是f4的芯片,芯片处理速度是足够的,像云台,底盘的任务,一般只是切换模式,计算PID这样的操作,CPU占有率基本上小于5%

[其他] 「2019」「RM圆桌」第十期 操作系统:RTOS

[复制链接]
补给站robomaster
 楼主| 2019-4-8 19:08:34 显示全部楼层
我们的提问到八点结束哦,所以大家有问题可以现在提问
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

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