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

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

3天内不再提示

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

单片机匠人 来源:单片机匠人 作者:黄忠老师 2021-12-02 15:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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)用以访问外设、硬件和信道。

3f5b3a3c-528b-11ec-b2e9-dac502259ad0.png

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

编辑:jq

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

    关注

    48

    文章

    8249

    浏览量

    162279
  • 单片机
    +关注

    关注

    6074

    文章

    45335

    浏览量

    663321
  • MMU
    MMU
    +关注

    关注

    0

    文章

    92

    浏览量

    19106
  • 嵌入式OS
    +关注

    关注

    4

    文章

    5

    浏览量

    7278

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么学好单片机

    单片机,是软硬件的综合体。并不是单单会点汇编或者C语言就说会单片机,这顶多只能说会编程而已。因为大部分单片机系统都是不带操作系统的裸机
    发表于 12-04 07:16

    为什么单片机中很少使用malloc,而PC程序频繁使用呢?

    对程序的影响。 操作系统支持单片机:在许多单片机应用中,程序运行不依赖于复杂的操作系统,而是基于裸机或轻量级实时
    发表于 11-20 06:55

    EV10AS180A模数转换器支持哪些操作系统

    基于模拟信号的采样、量化和编码,这些过程均由硬件电路完成,不涉及操作系统层面的指令或驱动。因此,该转换器本身不直接支持或依赖任何操作系统。接口与通信协议:虽然EV10AS180A不直接支持操作
    发表于 11-18 09:18

    智能显示模块支持掉电保存数据吗?智能模块支持操作Flash吗?

    智能显示模块支持掉电保存数据吗?智能模块支持操作Flash吗?
    发表于 11-14 08:41

    单片机操作系统

    单片机操作系统主要分为实时操作系统(RTOS)和嵌入式操作系统两类,以下是常见选择: 实时操作系统(RTOS) ‌ FreeRTOS ‌:
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    的故障情况下提供适当的错误处理机制。 硬实时和软实时支持:实时嵌入式操作系统通常提供对硬实时(Hard Real-Time)任务和软实时(Soft Real-Time)任务的支持。硬实时任务必须在严格
    发表于 11-13 06:30

    32位单片机PY32F003的特性概述

    PY32F003是一款极具性价比的国产入门级32位单片机,基于ARM Cortex-M0+内核,主频最高32MHz。提供最大64KB的Flash存储器和8KB的SRAM,这个容量对于大多数简单的控制
    的头像 发表于 11-07 16:02 754次阅读
    32位<b class='flag-5'>单片机</b>PY32F003的<b class='flag-5'>特性</b><b class='flag-5'>概述</b>

    单片机采用什么电流控制

    单片机作为电子系统的控制核心,其电流控制涉及自身工作电流管理与外部设备电流驱动两个层面。由于单片机内部电路的特性,其自身工作电流较小,而控制外部设备时需通过特定电路实现电流放大与调节,
    的头像 发表于 07-30 10:07 543次阅读

    树莓派操作系统:版本、特性及设置完整指南!

    树莓派操作系统是什么?树莓派操作系统是由树莓派基金会专为树莓派开发的官方操作系统。它基于DebianLinux发行版,并针对树莓派的ARM架构进行了专门优化。树莓派操作系统有多个版本,
    的头像 发表于 07-28 18:26 814次阅读
    树莓派<b class='flag-5'>操作系统</b>:版本、<b class='flag-5'>特性</b>及设置完整指南!

    怎么测单片机系统频率

    ,各有其特点和操作要点。 示波器测量法 示波器是测量单片机系统频率的常用工具,其原理是通过捕捉单片机输出的周期性信号,根据信号的周期计算频率。 操作
    的头像 发表于 07-25 11:39 468次阅读

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式设备上的一种配置。 特点:小巧
    发表于 06-20 09:46

    鸿道Intewell操作系统:人形机器人底层操作系统

    操作系统的实时性赋能东土科技的鸿道(Intewell)工业操作系统作为国内唯一通过汽车、工业控制、医疗、轨道交通四项功能安全认证的系统,为标准体系中的技术层架构提供了底层支持。其微内核
    的头像 发表于 05-16 14:44 539次阅读

    鸿道Intewell操作系统的Linux实时拓展方案

    鸿道Intewell操作系统是科东软件自主研发的新型工业实时操作系统,历经30多年研发积累,采用业界领先的微内核架构,具备高实时、高安全及强扩展的特性,是目前国内唯一通过汽车、工业控制、医疗仪器、轨道交通四项功能安全认证的
    的头像 发表于 02-27 10:08 616次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b>的Linux实时拓展方案

    国产银河麒麟操作系统V10和星光麒麟V1.0操作系统如何选择?

    领域打造安全创新操作系统产品,现已形成桌面操作系统、服务器操作系统、万物智联操作系统、工业操作系统、智算
    的头像 发表于 01-24 09:14 4209次阅读
    国产银河麒麟<b class='flag-5'>操作系统</b>V10和星光麒麟V1.0<b class='flag-5'>操作系统</b>如何选择?

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

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