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

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

    关注

    6078

    文章

    45629

    浏览量

    675367
  • 控制器
    +关注

    关注

    114

    文章

    17915

    浏览量

    195819
  • 嵌入式
    +关注

    关注

    5212

    文章

    20763

    浏览量

    338777

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    操作系统体系结构

    内核。   大内核系统操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具
    发表于 01-15 08:19

    操作系统运行机制

    计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程
    发表于 01-15 07:12

    请问CW32系列微控制器是否支持操作系统,如RTOS?

    CW32系列微控制器是否支持操作系统,如RTOS?
    发表于 12-16 08:14

    龙蜥操作系统装机量突破1000万

    11月17日,以“生态共融·智驱未来”为主题的2025龙蜥操作系统大会(OpenAnolis Conference)在北京成功举办。千余位全球技术大咖、业界精英和行业开发者齐聚一堂,深入探讨AI时代下操作系统产业发展的新趋势、新挑战与新路径,共话龙蜥社区引领
    的头像 发表于 11-20 11:40 1020次阅读

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

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

    CW32L011支持哪些实时操作系统

    CW32L011支持哪些实时操作系统
    发表于 11-17 06:51

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

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

    单片机的操作系统

    单片机操作系统主要分为实时操作系统(RTOS)和嵌入式操作系统两类,以下是常见选择: 实时操作系统(RTOS) ‌ FreeRTOS ‌:轻量级开源内核(最小内核约6 KB RAM)
    发表于 11-14 06:18

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

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

    Jtti Linux操作系统最常见的10大优势

    Linux操作系统的十大优势 Linux操作系统作为一种开源、自由的系统,已经广泛应用于个人计算机、服务器、嵌入式设备等多个领域。它的多样化特性和强大的功能使其成为现代计算环境中不可或
    的头像 发表于 11-06 15:32 508次阅读

    支持国产操作系统的人脸识别门禁终端有哪些?

    近年国家一直在推动信创工程,要求关键领域使用国产技术,尤其是涉及国家安全的关键场所,比如政府、部队,需要确保数据安全和系统可控。减少对外依赖。不少软硬件厂商、芯片企业纷纷响应,积极推动国产操作系统
    的头像 发表于 10-09 14:19 1294次阅读
    能<b class='flag-5'>支持</b>国产<b class='flag-5'>操作系统</b>的人脸识别门禁终端有哪些?

    支持LoongArch的操作系统(ABI2.0)

    支持LoongArch的操作系统汇总(ABI2.0) 下载操作系统时架构选择loongarch64 或 loong64 或 loong。 1. 桌面系统 0x1 Debian http
    发表于 09-18 14:58

    如何选择合适的实时操作系统

    选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1352次阅读

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

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

    深度操作系统deepin 25正式发布

    历经 Preview、Alpha、Beta 三轮社区共创测试,deepin 25 于今日发布亮相!本次版本以 “万物向新” 为核心,四大革新特性全面进化,1000+ 项优化修复落地,为广大开发者与用户朋友们带来更可靠、更流畅、更自由的开源操作系统体验。
    的头像 发表于 07-01 16:57 1502次阅读