一、μCOSIII入门之背景知识(持续跟新中)
1、RTOS背景知识简介
在正式开始之前,先对RTOS基本概念做一个了解。
1.1 前后台系统
这里面涉及到两个概念:前后台系统与RTOS系统.
前后台系统:
- 早期的嵌入式开发没有嵌入式操作系统的概念,直接操作裸机,在裸机上写程序,比如51单片机基本上就没有操作系统的概念。通常我们将程序分为两个部分:前台操作系统和后台操作系统。
- 简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序:应用是一个无限循环,循环中调用API函数完成所需的操作,这个大循环叫做后台系统。终端服务函数用于处理系统的异步事件,也就是前台系统。
- 前台系统是中断级,后台系统是任务级。
1.2 RTOS系统
- RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。
- 实时操作系统又分为硬实时和软实时。硬实时要求在规定的时间内必须完成相关的操作,硬实时系统不允许超时,在软实时里面处理过程超时的后果就没有那么严格。
- 在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。
- RTOS 操作系统包括:Ucos, FreeRTOS, RT-Thread, DJYOS 等。
- RTOS操作系统的核心在于:实时内核;
内核类型
- 可剥夺型内核:Ucos、FreeRTOS
- 不可剥夺型内核:
注意:在Ucos中优先级数字越小,任务的优先级就越高,FreeRtos中正好相反
2、μcos简介
- 基本的介绍网上都可查到就不过多的赘述;
- 目前有两个版本μcosII和μcosIII,μcosIII是一个
可裁剪
、可剥夺型
、的的多任务内核,而且没有任务数的限制。μcosIII提供了实时操作系统所需要的所有功能,包括资源管理、同步、任务通信等。 - μcosIII是用c和汇编编写的,其中大部分都是c。
- Micrium官网:www.micrium.com
- 参考书籍
3、μcos的移植
μcosiii运行的平台不同移植的方式也不同,不过大同小异,这里以我自己的项目需求为例讲解stm32f407与GD32F103为例说明,这里的移植方式也是从学习学习而来,大家有什么问题可以一起讨论学习。
- stm32F407