早期操作系统
早期没有操作系统概念,一般分为前台程序和后台程序。例如51单片机。将一直循环的作为后台任务,中断作为前台程序。
什么是RTOS?
实时操作系统,又分为硬实时和软实时,硬实时:必须在规定时间内完成,不允许超时。软实时:可以超时,后果没有那么严重
常见的RTOS
- UCOS,FreeRTOS,RTX,RT-Thread,DJYOS等
RTOS核心:实时内核
前后台与RTOS优缺点
- 前后台响应太慢
- RTOS响应快(一直是最 高优先级任务)
UCOS
可裁剪、可剥夺型内核
- 可以剥夺其他任务的CPU使用权,总是运行就绪队列(ready queue)中priority(优先级)最高的task
- 中断为最高优先级
特点、优点
- ucos资料满天飞! Micrium官网链接
- 具有RTOS所需要的所有功能,包括资源管理、同步、任务通信
多任务能力
- ucos中每个任务无限循环
- ucos中priority值越小,优先级越高
UCOS学习方法!
多写代码
遇到难点,可以先去学会使用API,再回来看看代码
UCOSIII移植(STM32F4x)
步骤
- 移动UCOSIII源码文件 至 stm32工程中
- 包含文件和头文件
- 更改bsp.c bsp.h
- 更改os_cpu_a.asm,os_cpu_c.c文件(OSTASKStkInit任务堆栈初始化函数)—否则FPU相关内容会出问题
- os_cfg_app.h—与ucos裁剪等相关
- 修改sys.h