嵌入式实时操作系统μC/OS II

为什么要学习μC/OS-II
㈠.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解。
㈡.对于初学者,从μC/OS-II开始是个明智的选择。
1.μC/OS-II麻雀虽小,却五脏俱全(它是个微内核)。
2.可以学习实时系统的一些编程技巧。
3.可以把在课堂上学到的操作系统抽象概念具体化。
4.具有很强的实用性。
5.学习数据结构应用的好例子。

一、μC/OS II概述

㈠ μC/OS II的特点

⑴μC/OS II的体系结构如图所示,μC/OS II是一个微内核,它只对计算机的处理器硬件时钟进行了抽象和封装,而没有提供其他硬件抽象层。移植μC/OS II时,主要工作就是根据具体硬件换一个或者添加一个硬件抽象层。
⑵μC/OS II具有较强的可移植性,μC/OS II是基于优先级的可剥夺型内核,系统中的所有任务都有一个唯一的优先级别,它适合应用在实时性要求较强的场合。μC/OS II不区分用户空间和系统空间,适用于比较简单的处理器。μC/OS-II总是近似地每时每刻让优先级最高的就绪任务处于运行状态,所以调度算法被频繁执行。
⑶μC/OS-II总是近似地每时每刻让优先级最高的就绪任务处于运行状态,所以调度算法被频繁执行。

㈡μC/OS II的文件结构

⑴与应用程序相关的文件

文件内容:把工程项目中应包含的头文件都集中放到这里。 使项目开发者无须再去考虑项目中的每一个文件究竟应该需要或者不需要哪些头文件了。

⑵与处理器相关的文件

⑶与处理器硬件无关的文件(系统内核的各种服务文件)

二、预备知识

㈠操作系统的作用

⑴它在计算机应用程序与计算机硬件系统之间,屏蔽了计算机硬件工作的一些细节,并对系统中的资源进行有效的管理。
⑵通过提供函数(应用程序接口(API)),从而使应用程序的设计人员得以在一个友好的平台上进行应用程序的设计和开发,大大地提高了应用程序的开发效率。
从用户的角度来看,它就是一大堆函数(API和系统函数),用户可以调用(普通调用或系统调用)它们来对系统资源进行操作

㈡操作系统中常用的数据结构

⑴数组

⒈数组:
①同一数据类型数据的集合;
②占用连续内存空间;
③其中的所有元素名称都相同,但每个元素都有一个编号;
④元素名去掉编号(下标),得到的是数组名,数组名是个指针。
⒉使用上的特点:
①分类存放;
②检索速度快且恒定;
③缺点:占用连续空间大。
⒊应用:记录同类事物的表。

⑵位图

⒈位图是数组的一种特殊应用。
⒉应用:登记表。

⑶结构

⒈结构:
①不同数据类型数据的集合;
②占用连续内存空间。
⒉使用上的特点:
①不分类存放,但用来描述同一事物;
②检索速度快且恒定。
⒊应用:通讯录中的一条记录、工具箱、厨房等等。

⑷链表

⒈链表:
①同数据类型数据的集合;
②不占用连续内存空间。
⒉使用上的特点:
①分类存放,但空间上不连续(不需要大量的连续存储空间;
②检索速度慢,且耗费的时间不固定。
⒊应用:存放大量的较大的表,类似档案柜。

⑸队列

⒈队列:
①队列是一种特殊的线性表。在队列中,仅允许一端进行插入,在另一端进行删除。
②允许插入的一端叫做队尾(rear);允许删除的另一端叫做队头(front)。
③队列又称先进先出(First in First Out,简写为FIFO)表。

⑹堆栈

⒈堆栈:
①限定只能在表的一端进行插入和删除的线性表。
②在表中允许插入和删除的一端叫做栈顶(top),表的另一端叫做栈底(bottom)。
③栈又称后进先出(Last In First Out,简写为LIFO)表。

嵌入式实时操作系统μC/OS II(一)相关推荐

  1. 关于任哲的《嵌入式实时操作系统uC/OS II原理及应用(第二版)》开发环境搭建和第一个例子

    第一步 需要下载一个BC3.1精简版搭配书上的开发环境 .下载地址:云盘链接 提取码 0a44.这儿下载下来的bc文件夹可以 放在任何位置,楼主将其放在了C盘的根目录下. 第二步 就是文件的代码了,代 ...

  2. 嵌入式系统开发16——嵌入式实时操作系统uC/OS的简介及简单应用

    本文主要介绍嵌入式实时操作系统(RTOS),并且以uc/OS为例,将其移植到stm32F103C8T6上,构建3个任务:其中两个task分别以1s和3s周期对LED灯进行点亮-熄灭的控制:另外一个ta ...

  3. 【嵌入式系统基础第九周作业】--嵌入式实时操作系统uc/OS

    文章目录 1.CubeMX建立项目 1.1配置RCC(打开外部时钟),SYS(选择调试接口) 1.2配置GPIO(PC13用于点亮LED灯) 1.3配置USART1(串口输出) 1.4保存,生成项目文 ...

  4. 基于STM32的简易示波器的UCOS II嵌入式实时操作系统实现

    基于STM32的简易示波器的UCOS II嵌入式实时操作系统实现 在基于STM32的示波器的实现的基础上,在STM32上移植UCOS II嵌入式实时操作系统. 在UCOS II操作系统中将各个功能分发 ...

  5. 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十六章 UCOSII 实验 1任务调度...

    1)实验平台:alientek NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三十六章 ...

  6. RT-Thread 创始人熊谱翔:我和 Linux、嵌入式实时操作系统 RT-Thread

    我和 Linux.嵌入式实时操作系统 RT-Thread -- RT-Thread创始人熊谱翔,2015 年 接触 Linux 说起 Linux 应该从我在校园时期说起.我是在山城--重庆邮电学院念的 ...

  7. 嵌入式系统 操作系统 uC/OS uClinux

    摘要:嵌入式操作系统是嵌入式系统应用的核心软件.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据. 关键词:嵌入式系统 操作系统 u ...

  8. RT-Thread创始人熊谱翔: 我和Linux、嵌入式实时操作系统RT-Thread

    本文转载至: http://www.rt-thread.org/dynamic/78.html 接触Linux 说起Linux应该从我在校园时期说起.我是在山城--重庆邮电学院念的书,1998年时宿舍 ...

  9. 《嵌入式实时操作系统uC/OS-II》学习摘要

    二. 实时系统概念 1.实时系统的特点 如果逻辑和时序出现了偏差,将会引起严重后果.有两种类型的实时系统:软实时系统和硬实时系统. 在软实时系统系统中,系统的宗旨是指各个任务尽快地运行,而不要求限定某 ...

最新文章

  1. 深度学习中的注意力机制(一)
  2. python去除空行_python剔除空行
  3. PHP的Composer:命令 符号 区别
  4. 在google map上显示Instagram的照片
  5. 003 HandlerMapping
  6. [菜鸟自学过程] ASP.NET2.0 ClientCallback脚本回调
  7. 同济大学 线性代数 第六版 pdf_同济大学版工程数学 线性代数 第六版 课本
  8. Intel/Altera 系列FPGA简介
  9. 天津理工大学物联网通信技术实验1:数字基带信号(NRZ、NRZ-I、AMI、HDB3信道编码)
  10. Lvgl(V8.2)自定义字体实现多国语言切换功能
  11. css3D制作旋转魔方
  12. oracle 递归用法,oracle递归用法
  13. Java服务器开发之搭建游戏基础框架
  14. Java项目:ssm在线答题系统
  15. 电脑专业英语1500词-2
  16. 强制退出scrapy
  17. |函数相乘分离 函数增长速度|day6
  18. Android Studio Arctic Fox | 2020.3.1、Gradle 7.0升级记录
  19. 引用类型作为函数的返回类型
  20. Python最新就业信息

热门文章

  1. 电容式计算机键盘的按键下,电容式键盘连键故障分析及处理方法(二)
  2. 卸载ncurses_Linux下程序库Ncurses显示中文乱码的解决方法
  3. 全面了解Unittest单元测试框架
  4. 都说区块链可信,到底信了个啥?
  5. 【103期分享】4款小清新PPT模板免费下载
  6. Linux 快速定位文件要修改的位置
  7. C语言怎么弄游戏的战场回放,c语言写的战争模拟游戏 源码
  8. 服务器固态硬盘的优缺点是什么
  9. 在win7上的eclipse向hadoop提交作业异常-权限/设置调度器
  10. React18升级和React18新特性