0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

支持操作系统的特性概述

单片机匠人 来源:张飞实战电子 作者:黄忠老师 2021-11-12 11:03 次阅读

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也要先看能不能支持,并且支持哪些,再结合自己的项目实际选取。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44558

    浏览量

    635298
  • 控制器
    +关注

    关注

    112

    文章

    16361

    浏览量

    178048
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305197

原文标题:单片机支持操作系统的特性

文章出处:【微信号:gh_e7f294a514ca,微信公众号:单片机匠人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在windows上emulate不同操作系统

    一、虚拟化技术概述 虚拟化技术允许在单个物理机器上创建多个虚拟机,每个虚拟机都可以运行不同的操作系统。这使得我们可以在Windows系统上模拟其他操作系统,而无需购买额外的硬件。虚拟化
    的头像 发表于 12-05 15:50 189次阅读

    工控机支持什么操作系统

    工控机,全称工业控制计算机(Industrial Personal Computer, IPC),支持多种操作系统以满足不同行业和应用场景的需求。具体来说,工控机常见的操作系统包括:
    的头像 发表于 09-11 09:24 450次阅读

    3568F-麒麟KylinOS国产操作系统演示案例

    支持轻量级AI框架,功能域完成边缘智能计算。 (5)工业稳定:工业级系统稳定性,支持操作系统长时间无值守工作。 (6)泛在连接:集成主流工业通信协议、物联网协议,实现云边端协同连接。 (7)按需定制
    发表于 07-25 15:55

    请问MODUS支持LINUX、FREERTOS、UCOS、Mbed、Android所有操作系统吗?

    请问 MODUS 支持 LINUX、FREERTOS、UCOS、Mbed、Android 所有操作系统吗?
    发表于 07-23 06:06

    嵌入式实时操作系统:Intewell操作系统与VxWorks操作系统有啥区别

    Intewell操作系统和VxWorks操作系统都是工业领域常用的操作系统,它们各有特点和优势。以下是它们之间的一些主要区别:
    的头像 发表于 07-08 14:16 440次阅读
    嵌入式实时<b class='flag-5'>操作系统</b>:Intewell<b class='flag-5'>操作系统</b>与VxWorks<b class='flag-5'>操作系统</b>有啥区别

    CYAT81658是否支持Windows操作系统

    我们的一位客户要求将触摸集成威廉希尔官方网站 用于他们自己的产品。 他们使用的是 Windows 10 操作系统。 我想知道我们的产品触摸 IC(CYAT81658)是否支持 Windows 操作系统
    发表于 07-05 07:36

    工业实时操作系统对比:鸿道Intewell跟rt-linux有啥区别

    Intewell和RT-Linux是两种不同的实时操作系统(RTOS),它们具有各自独特的特点和优势。以下是Intewell操作系统的一些关键特性,以及与RT-Linux的比较:
    的头像 发表于 07-03 10:00 530次阅读
    工业实时<b class='flag-5'>操作系统</b>对比:鸿道Intewell跟rt-linux有啥区别

    请问visionFive2支持哪些操作系统

    visionFive2支持哪些操作系统
    发表于 07-03 07:30

    玄铁正式支持 Linux Kernel 6.6,携手全球生态伙伴共同推动操作系统 RISC-V 主线演进

    玄铁正式支持LinuxKernel6.6,携手全球生态伙伴共同推动操作系统RISC-V主线演进继Linux社区于2023年10月发布未来3年长期维护版本LinuxKernel6.6后,国内各开
    的头像 发表于 05-24 08:36 622次阅读
    玄铁正式<b class='flag-5'>支持</b> Linux Kernel 6.6,携手全球生态伙伴共同推动<b class='flag-5'>操作系统</b> RISC-V 主线演进

    求助,psoc4系列支持的所有操作系统类型是哪些?

    您能告诉我们 psoc4 系列支持的所有操作系统类型吗?
    发表于 05-21 07:37

    基于鸿道(Intewell®)操作系统研发的农业机器人操作系统

    江苏大学与科东软件联合研发“农业机器人操作系统”,并成立“农业机器人操作系统”联合实验室,奋力推进农业智能化,推动农业科技创新。“农业机器人操作系统”的技术革新,对提高农业生产效率、保护环境、应对农业劳动力短缺及促进智慧农业发展
    的头像 发表于 04-30 11:09 431次阅读

    带你认识实时操作系统(rtos)

    实时操作系统(RTOS)是为嵌入式系统和实时应用提供一个稳定、可预测和高效运行环境的操作系统。实时操作系统确保了系统能够在严格的时间限制内响
    的头像 发表于 04-16 16:30 1275次阅读
    带你认识实时<b class='flag-5'>操作系统</b>(rtos)

    支持MacOS苹果操作系统的网卡你用过吗?

    Marvell AQC113以太网控制器支持苹果操作系统(MacOS),进一步扩展搭载了AQC113设备的应用领域。
    的头像 发表于 03-28 12:01 488次阅读
    <b class='flag-5'>支持</b>MacOS苹果<b class='flag-5'>操作系统</b>的网卡你用过吗?

    CYUSB3314-88LTXI CAN支持哪些操作系统系统

    CYUSB3314-88LTXI CAN支持哪些操作系统系统? 它是否也包括Raspberry Pi(HW / OS)/Apple/Linux,谢谢! 树莓派 (HW)树莓派 (OS)Windows苹果Linux目录
    发表于 02-26 06:57

    深度解析全球操作系统格局

    操作系统是负责协调、管理和控制计算机硬件与软件资源的程序,是整个计算机的核心系统软件。 按照操作系统面向的设备类型,通用操作系统主要包括桌面操作系统
    的头像 发表于 01-18 15:00 1180次阅读
    深度解析全球<b class='flag-5'>操作系统</b>格局