单片机支持操作系统的特性概述

1、支持操作系统的特性概述:
就拿m0核的单片机来说,就有一部分特性是针对嵌入式操作系统的(os),包括:
l systick定时器,24位向下计数,且周期产生systick异常。
l 栈指针,即进程栈指针,两个栈指针的结构可以使得应用栈和os内核栈相互独立。
l svc异常和svc指令,通过异常机制,应用程序可以使用svc访问os服务。
l pendsv异常,其可以被os、设备驱动或者应用程序使用来产生可延迟的服务请求。
2、为什么要使用嵌入式操作系统?
当提到操作系统的时候,大多数人首先会想到windows和linux之类的桌面操作系统。这些操作系统要想运行起来,需要强大的处理器、大量的存储器以及其他硬件,而对于嵌入式设备,各种os的差别很大。嵌入式操作系统可以运行在低功耗的微控制器上,它们需要很少的存储器(相对于桌面系统),并且运行的时钟频率要低很多,比如keil rtx只需要4kb的程序空间以及大约0.5kb的sram,一般情况下,这些操作系统设置不需要显示或者键盘。当然也可以增加一些显示接口和输入设备,并且通过运行在os上的应用任务来访问这些输入和输出接口。
在嵌入式应用程序中,os一般用来管理多任务。在这种情况下,os将处理器时间划分多个时间片,并且在每个时间片上执行不同的任务。当一个时间片结束时,os任务调度器开始执行,这样在下一个时间片开始的时候,处理器已经切换到其他任务执行了。这种任务切换一般被称作上下文切换。
每个时间片的长度依赖于硬件以及操作系统的设计,有些嵌入式操作系统每秒会进行几百次的任务切换。
有些嵌入式os也为每个任务定义了优先级,这样高优先级的任务就能在低优先级任务之前执行。如果一个任务的优先级比其他的都要高,在其到达空闲状态前,os可能会连续多个时间片都在执行这个任务。应该注意的是,os的优先级的定义与异常优先级是完全独立的(例如中断的优先级)。任务的优先级基于特定的os,并且随着os的不同而有所区别。
除了支持多任务以外,嵌入式os也提供了其他各种功能,包括资源管理、内存管理、电源管理,以及应用程序编程接口(api)用以访问外设、硬件和信道。
使用嵌入式os并不总是有好处的,因为它需要额外的程序空间来存放os内核,而且会增加执行周期的开销。多数简单应用并不需要嵌入式os,不过,有些复杂的嵌入式应用需要并行执行任务,这时使用os会使软件开发更加容易,并且降低出现错误的概率。
目前,可以应用在m0上的嵌入式os有很多,例如,keil 微控制器开发套件提供的免费且易于使用的rtx kernel,另外还有micrium的uc/os-ii和uc/os-iii等都支持m0处理器。并且这个支持的操作系统在不断的增加中。
由于很多微控制器是不具备存储器管理单元(mmu),比如我们上面时候的m0核的处理器,所以它不能运行需要虚拟地址的嵌入式os,比如windows ce或symbian os。平常使用的linux os也需要mmu,它也不能再m0上工作。而uclinux是linux的特殊版,并且面向的是没有mmu的嵌入式设备,所以要在微控制器上加入os也要先看能不能支持,并且支持哪些,再结合自己的项目实际选取。


钠硫电池和锂电池区别比较
上汽R汽车正式首款5G车预售
经典CC2430硬件应用电路
l6563的pfc电路
艾尼克斯北京工厂举行乔迁开业庆典
单片机支持操作系统的特性概述
建筑工地智慧工地管理系统在项目中的普遍应用
以太网io模块4-20mA转网口转TCP/IP台达PLC扩展
新颖的网线自动检测装置
赛灵思气势如虹 点燃智能创新战火
电路板层堆叠中的内容:PCB层解释
Microsemi宣布成功收购Zarlink半导体公司
北京大学等提出HandTrackNet:点云序列中手物交互的位姿追踪与重建
国产品牌手机不断创新 领跑拍照领域的发展
渔友云智能水产养殖系统的详细介绍
基于单片机和TH-UWB02芯片实现超宽带窄脉冲发射机的设计
人工智能是将处于黄金时代还是即将到来的新冬天
指纹锁的选购技巧
印刷电子技术将掀起智能穿戴应用革命
全球第三大智能手机操作系统Windows Phone将彻底退出市场