IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> RTOS那些你得知道的事儿(一) -> 正文阅读

[嵌入式]RTOS那些你得知道的事儿(一)

注:本文章参考朱有鹏老师单片机第四季课件

1、RTOS的来龙去脉

1.1、操作系统是什么?

操作系统的出现是专业分工的体现,编程有了分层的概念,建立了一个系统,有了“指挥部”。

1.2、为什么需要RTOS

(1)简单单片机资源少、并行需求小,纯裸机程序即可
(2)复杂单片机资源多、并行需求和实时需求均有,需要RTOS来帮助开发

1.3、如何学习操作系统

(1)学习操作系统本身的基本理论,学着去看懂简单的OS内核设计和实现
(2)重点在于使用操作系统来工作:对接自己硬件、管理自己资源、实现自己的项目功能
(3)不必过分关注OS内核,不必尝试自己写OS内核,但要会看、会移植、会用、会解决bug

2、主流RTOS和我们的课程规划

2.1、RTOS的技术特征

(1)RTOS(实时操作系统)和linux、windows、android等(非实时操作系统)的差异
本质区别在于任务调度的确定性

大多数操作系统都允许多个程序同时执行,称为多任务处理。
但实际上每个处理器在同一时刻只能处理单个执行线程,而操作系统的调度程序来选择在何时运行哪个程序,并通过在每个程序之前快速切换从而提供同时执行的假象。
RTOS(Real-time operating system)实时操作系统和非实时操作系统主要区别就在于调度机制的不同。
实时操作系统要旨在于确定性的执行模式。因为认为只有在可预测操作系统行为(确定)时,才能够满足实时的需求。大部分的RTOS操作系统是通过用户设定每个执行线程的优先级来实现确定性。在调度时,一定会优先执行高优先级的程序。而非实时操作系统是保证每个执行线程都不会饿死,只是尽量保证高优先级的程序较多运行,在高低优先级线程同时就绪时,调度系统仍可能会执行低优先级线程。

作者:ZRB
链接:https://www.zhihu.com/question/291405354/answer/535829364
来源:知乎

(2)RTOS的关键点:稳定性、license、开发成本、外部扩展资源、实时性、效率、市场占有率等

2.2、主流RTOS:

(1)ucosii Micrium(2016被Silabs收购)
(2)ucosiii
(3)freertos 英国Real Time Engineers Ltd,Richard Barry. 开源、免费商用,市占率最高
(4)rtx Keil/ARM 官方支持,发展很快,将M3/M4内核性能充分发挥
(5)rawos 国内高质量rtos,商业化原因暂停维护中
(6)embOS Segger 高品质,没emWin火

2.3、课程讲解规划

(1)uCOS2配合ARM3.0开发板讲解,有空的话可以移植到PZ6806L开发板上
(2)uCOS3配合PZ6808L开发板讲解(STM32F407)
(3)freertos在第5季讲STM32Cube HAL库时再讲,其实和uCOS大同小异
(4)rtx以后看需求,可以考虑以专题形式来讲
(5)其他的暂时没考虑

3、uC/OS全面介绍

3.1、uC/OS介绍

(1)micrium官网:https://www.micrium.com/ ucos网页:https://www.micrium.com/rtos/
(2)全面介绍见 https://www.micrium.com/rtos/
(3)kernel有2和3共两个版本,配件覆盖USB、CAN、TCPIP、FS、GUI等
(4)被移植到各种主流MCU平台,https://www.micrium.com/downloadcenter/
uC/OSii和uC/OSiii
(1) https://www.micrium.com/rtos/rtos-comparison/

4、uCOS的学习方法和要点

4.1 学习的思路和方法

(1)源码级学习,read the fucking source code
(2)分层和分模块的理念
(3)C语言功底得过硬《嵌入式linux核心课程》第4部分:C语言高级专题
(4)大脑的复杂度得跟上
(5)STM32本身的外设编程和标准库等基本功得过硬
纠正并强调几个观念
(1)在学中练,在练中学,不是会什么以后才去学而是在学中去会xx
(2)先会看,然后会移植,最后才会创造

5、uCOS学习前的准备工作

5.1、开发板准备

(1)用ARM3.0开发板+STM32F103C8T6核心板作为开发板
(2)串口硬件改造以方便ISP下载同时串口输出监测
(3)LED接线用作调试,后续按键等其他接线同前面课程讲解

5.2 源码浏览工具

(1)测试和体验源码用我提供的移植过的可以运行的源码
(2)待移植源码用ARM3.0开发板光盘自带的uCOS2工程
(3)源码浏览用SourceInsight
(4)移植时SI + MDK5

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:22:30  更:2022-08-19 19:26:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 17:03:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计