#ucos# #ucosiii# #rtos#
μC/OS-III 学习笔记(1)
最近花了几天时间研究RTOS,直接用μC/OS-III上手,参照例程移植μC/OS-III源码写入103ZET6的开发板,再用原子的例程将μC/OS-III所有功能都过了一遍,现在回过头来结合实验体会,程序源码和参考书巩固学习。
首先说说为什么用μC/OS-III,而不是直接上手Linux。因为Linux对初学者不是很友好,没有一定的基础,学习难度还是不小的,打击学习的积极性和信心。
所以,可以先学习μC/OS-III来试试手,μC/OS-III用几千行代码就可以实现操作系统,还可以将操作系统的一些抽象概念具体化。最主要还是因为网上的有关μC/OS-III资料非常多。
参考资料如下:
1、嵌入式实时操作系统μC/OS-III
北京航空航天大学出版社 Jean J.Labrosse
2、嵌入式实时操作系统μC/OS-II
北京航天航天大学出版社 任哲
3、 STM32F1 UCOS开发手册_V2.0
正点原子
源码实验例程:
正点原子μC/OS-III 实验
正文:
什么是操作系统?
答:
从层次来看,操作系统位于计算机硬件之上,应用软件之下。所以也把它叫做应用软件的运行平台。是一种为应用程序提供服务的系统软件。
从程序员的角度来看,它就是一大堆函数(API和系统函数),可以调用(普通调用或系统调用)它们来对系统资源进行操作和管理。
什么是实时操作系统?
答:
对于一个实时操作系统,就是要求它能够在现有的硬件条件下,在接受到输入后尽可能快地计算出输出结果。并应使应用程序设计者在应用程序设计时,就能预先准确地确定完成任务所需要的最长时间。
为满足上述要求,实时操作系统满足以下三个条件。
实时操作系统必须是多任务系统
任务的切换时间应与系统中的任务数无关
中断延迟的时间可预知并尽可能的
什么是嵌入式实时操作系统?
答:
用于嵌入式系统,对任务资源和多个任务进行管理,且具有高可靠性、良好可裁剪性等优良性能,并为应用程序提供运行平台和实时服务的微型系统软件叫做嵌入式实时操作系统。
前后台系统:包含一个无限循环的模块实现需要的操作(后台)。中断处理程序实现异步事件(前台)。前台也叫做中断级,后台也叫作任务级。
实时内核:用于管理微处理器,微控制器或数字信号处理器的时间及硬件资源的软件代码。(原来看书的时候就奇怪什么叫做内核,原来如此啊)
设计实时系统时,可把系统功能划分成成多个任务,每个任务仅富足实现某一功能。每个任务(或者叫做线程)都是一段简单的代码,通常是一个死循环。CPU在任意时刻只能执行一个任务,且每个任务都认为自己在独自使用整个CPU。
实时内核负责管理这些任务,决定运行哪个任务,何时停止运行当前任务并切换到其他任务,这就叫做多任务管理。CPU在多个顺序执行的任务代码间切换。多任务管理就造成了多CPU的假象,实现了对CPU资源的最大化使用。
由于是一个可剥夺型的内核,它总是运行当前就绪任务中优先级最高的那个,如图所示。
查看评论 回复
游客 | 2018-08-26 16:50:15 |
懂得ucosii,ucos3就很容易额,大同小异 |
游客 | 2018-07-27 14:36:40 |
只用过ucosii没用过ucosiii,不知道和ucos2的区别大吗 |