• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

何时在自己的设计中使用RTOS?

灵澈 2017-06-26 浏览量:987
RTOS,比起前后台操作来说,有着非常多的优势。例如方便管理任务,协调硬件。但也存在其它的问题,如会额外占用一定系统资源,移植过程可能带来一些潜在的风险。

学习了一些日子的freeRTOS,现在还在犹豫是否将其部署到自己的项目里。不知道各位大神们如何看待RTOS应用在自己的设计方案里?

是会方便自己的开发,还是会有一些副作用?


举例,我最近的一个设计方案是使用stm32f030c8的微处理器来实现12864显示屏与按键处理。

那么这个方案是否适合使用freeRTOS呢?


———来自论坛用户“lemonboard@sina.com”

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 能不能用RTOS,一是要看项目的要求,如果太简单的功能,使用RTOS反而比较繁琐,不容易完成。但是也是可以用的。只要是芯片的RAM、ROM够用,是可以加上RTOS的。

    以你的例程说,只是12864与按键的功能的话,如果不考虑后期的升级,可以使用RTOS

    你一个进程进行屏幕的刷屏,一个进程进行按键的读取。这样操作起来也方便一些,程序也易读一些。
    但是要是后续要添加比较多的功能,那么还是在裸机下吧,也可以评估RAM与ROM是不是够用,够用也可以上RTOS。
    总得来说,使用RTOS做一些实时性不严格,但逻辑复杂的项目还是很不错的。

    • 发布于 2017-06-26
    • 举报
    • 评论 1
    • 0
    • 0
3b440bf777a9e53f 回复了 汉云:谢谢 回复

其他答案 数量:5
  • rtos来说是一个简易的操作系统,实时性不算很好,但是有一定的实时性,如果你做的项目没有很强的实时性要求的话,rtos是个不错的选择,如果是强实时性要求的,还是需要个好点的操作系统的。
    • 发布于2017-06-26
    • 举报
    • 评论 1
    • 0
    • 0
3b440bf777a9e53f 回复了 afeiafei309 :谢谢 回复

  • 看你项目的难度,一般情况下你项目的复杂度不高,不推荐上rtos。

    你设计的12864和按键处理完全没有必要上rtos,如果是为了实验可以上的。

    • 发布于2017-06-26
    • 举报
    • 评论 1
    • 0
    • 0
3b440bf777a9e53f 回复了 Sourcelink :谢谢 回复

  • 其实用不用freertos,主要还是取决于你那个项目里面的多个任务之间的切换和管理是否复杂,如果只是简单的几个任务,就没必要用RTOS

    你这个项目,仅仅是需要驱动12864和进行按键扫描,没必要用到RTOS,直接跑裸机就行。在main.c 的while(1)中增加一个扫描按键的调用和一个12864的调用即可

    =====================================================================

    PS:一般四个以上的任务用RTOS比较好

    • 发布于2017-06-26
    • 举报
    • 评论 1
    • 0
    • 0
3b440bf777a9e53f 回复了 chen0000009 :谢谢 回复

  •          实时系统(Real-time operating system,RTOS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该在事先先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。

           项目是否需要上RTOS系统要看项目的需求,不需要上尽量不要上,因为这样是简单事情复制化。

          一旦上了RTOS系统,那么请选择相应的高级点的处理芯片,以便发挥RTOS系统的优点。

            上不上RTOS系统,要根据自己的项目来定。

            LCD12864显示屏与按键处理,其实可以不上RTOS操作系统,可以通过面向对象来实现,网上也有这方面的例程。

    • 发布于2017-06-26
    • 举报
    • 评论 1
    • 0
    • 0
3b440bf777a9e53f 回复了 冰山一角 :谢谢 回复

  • 依照您的需求,RTOS是用來方便您排程(Scheduling)和根據優先級作任務實時切換(Task switching),和Task之間溝通(message),讓整體系統穩定運行,所以如果您的設計很依賴實時性調度,那麼才有必要使用RTOS

    如果只是按鍵和12864顯示單純兩項任務,倒是不是很必要使用RTOS

    以上

    • 发布于2017-06-27
    • 举报
    • 评论 2
    • 0
    • 0
3b440bf777a9e53f 回复了 MOP :谢谢 回复
3b440bf777a9e53f 回复了 MOP :谢谢 回复

相关问题

问题达人换一批

何时在自己的设计中使用RTOS?