智能制造网>产品新闻

嵌入式操作系统相关概念

2018-10-08来源:嵌入式企鹅圈标签:嵌入式系统

嵌入式操作系统相关信息有很多,为了能够有效的了解这些信息,需要对嵌入式操作系统中的相关概念,提前进行了解。

嵌入式操作系统相关概念

1、操作系统

最常见的通用操作系统是Windows和Linux。操作系统给应用层提供进程调度、进程间通信、内存管理、驱动管理、文件管理、中断管理、时间管理等相关接口。在嵌入式领域,除了通用的嵌入式Linux操作系统,更多的是定制型的操作系统。定制型操作系统一般都是闭源且高度裁剪移植的系统,根据应用的需求提供必要的功能和管理模块。资源丰富型系统的应用层和内核层会使用不同的CPU运行模式,只有内核层能够访问硬件资源,而资源紧缺型系统的应用层和内核都是运行同一模式,都能够访问硬件资源。

嵌入式系统中有单任务操作系统和多任务操作系统。单任务操作系统一般用于简单的电子控制和处理产品中,如玩具、工业控制、家电等等。而多任务操作系统则用于较为复杂且功能丰富的电子产品中,如手机、视频监控等等。

在一般的简单的电子产品中,操作系统只是一种层次概念,其管理的功能显得比较弱,有时甚至为了效果和内存而进一步削减它的存在,但是软件层次能够让软件工程显得更加有序和易于维护和管理。只要中断管理、GPIO和驱动、时间管理单独成模块,我们都可以认为它形成操作系统。

2、内核

内核是多任务操作系统的核心,最基本的功能就是任务调度和任务间通信。既然是多任务并发运行,而CPU只有一个(假设是单核CPU),就必须做好任务的调度和任务间的同步和通信。Linux是一个操作系统(OS),其内核(kernel)除了任务调度、任务间通信,还有内存管理、网络接口等;UCOS是常见的多任务内核,多用于资源有限型嵌入式系统,它提供了优先级抢占的任务调度和信号量、邮箱、消息队列等任务间通信,尽管UCOS也提供了内存管理,但完全可以裁剪掉这个功能。

3、并发

一个系统可能有多个独立的任务,但是否是多任务操作系统,是以这些任务是否并发为标准。所谓并发,是指各个独立的任务是否能够得到公平的运行机会。如果一个任务必须要等待另一个任务完成才能执行,那两者是串行运行;如果一个任务能够在另一个任务执行过程中抢占CPU,才算是并发执行。并发执行跟任务上下文密切相关,单任务操作系统只有一个用户上下文,而多任务操作系统的每个任务都有一个上下文,任务切换就是对上下文的切换。

4、TI CC254x需求分析

TI CC254x是在8051核上集成蓝牙BLE4.0低功耗的单芯片,可以预想它是一个资源紧缺型的嵌入式系统;同时CC254x是为了完成蓝牙连接和简单的控制功能(即GAP profile和GATT profile),因此TI提供的库也重点围绕蓝牙连接和控制传输设计,而没有通用操作系统所支持的文件、驱动管理等功能;另外蓝牙协议是分层协议栈,各层都有独立的的业务和处理流程,它会是多任务应用吗?

TI向用户提供了一个叫做OSAL(操作系统抽象层)的编程框架,除了蓝牙相关的底层协议不透明,OS相关的任务调度和通信、蓝牙高层协议都是用户透明的。诚如以上对单任务操作系统的分析,OASL也是一个较弱的操作系统,只包含了调度和通信的内核,和一个硬件抽象层。但不妨碍我们把它当成一个操作系统去理解。

5、分析目标

基于以上分析,要在OASL上进行快速开发,我们需要重点关注OSAL的任务编调度、任务间通信、用户消息输入和处理。

  • 版权与免责声明:凡本网注明“来源:智能制造网”的所有作品,均为浙江兴旺宝明通网络有限公司-智能制造网合法拥有版权或有权使用的作品, 未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:智能制造网”。违反上 述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非智能制造网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行 为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。