HI,下午好,新媒云不收取任何费用,公益非盈利机构
24小时服务热线: 4000-162-302
请扫码咨询

新媒易动态

NEWS CENTER

嵌入式软件是嵌入式系统的核心,产品设计的落地

2021-05-25

嵌入式硬件包括处理器、存储器、微控制器、I/O、DAC ADC、电源、总线、定时器 计数器等等。此外根据不同的应用场景,嵌入式硬件会集成不同的传感器,例如摄像头、雷达、GPS等等。

本文主要介绍嵌入式系统,其它分内容后面会详细介绍。

四、嵌入式软件

嵌入式软件是嵌入式系统的核心。产品设计的落地,性能指标的满足都是通过软件来实现的,作为硬件PM我们需要了解嵌入式软件的架构,更好的与工程师沟通。

我们是硬件PM,但是在研发工作中打交道最多的是软件工程师。作为PM我们要知道工程师的分工。提需求的时候要找到对应的人,拉通协作时找到对应的人。

嵌入式系统可以分为硬件层,驱动层、操作系统层、应用接口层、应用层。除了硬件层,其他都属于软件工程师的工作范围。在大多数公司中,软件工程师会单独负责其中的一块。


  • 核心层:操作系统的内核,包括系统运行最基本的模块,这一层会涉及到系统时钟、电源管理、文件管理,内存管理等内容;
  • 系统层:它提供面向对象的系统资源管理功能,具有模块化和对象化的特点,例如文件管理、设备管理、网络协议。每个系统模块提供标准的API接口,向用户开放,有利于系统功能的扩展;
  • 应用服务层:这一层是在实现具体的业务功能提供基于系统功能、面向应用的系统功能调用服务接口。

嵌入式软件包括嵌入式操作系统以及应用程序

1. 嵌入式操作系统

说到嵌入式操作系统之前,先介绍一下操作系统。操作系统是硬件与用户之间的中介,用来管理系统资源和控制应用程序运行的计算机程序。

1)嵌入式系统的特点

相对于操作系统,嵌入式操作系统不要求全能,但必须能够有效率的发挥硬件最大的能力,使产品获得最高的性价比,嵌入式操作系统的特点如下:

  • 代码量小,能够在嵌入式系统有效的存储空间内运行;
  • 统一的API;
  • 模块间解耦,可拆卸;
  • 强实时性,可应用于各种实时控制;
  • 可靠性高,无需人工干预独立运行,并能及时处理各类事件和故障。

2)内核

嵌入式系统分为宏内核与微内核:

  • 典型的微内核有μCOS、Uitron这些内核小很多,只有最基本的进程管理、进程通信、内存管理组成,其他部分和内核分开。内核本身只负责客户进程和服务进程之间的消息传递;
  • 典型的宏内核有Linux、Unix,这些内核相对比较庞大,内核设计者从效率的角度把基本的操作系统内核和设备驱动、文件系统、网络等统一安排编译,它的移植能力较弱。

3)操作系统基本组件

无论是宏内核还是微内核都有进程管理、内存管理、中断管理以及API。

  • 进程管理:操作系统为进程分配资源,实现进程间共享和交换信息,保护进程资源以及实现进程间同步。在多线程系统中,进程变成了资源管理器,线程成为了程序的基本执行单元。进程管理包括进程的创建与维护、进程的调度切换、多处理器的进程管理;
  • 内存管理:虚存管理技术广泛应用于系统管理。它可以使每个程序都有一个独立的虚拟存储空间,使应用程序获得比实际内存更大的编址空间;
  • 中断管理:中断管理为了提高系统效率,确保关键的功能及时执行;
  • API:包括人机界面以及操作系统提供给用户开发的应用程序API函数。

4)嵌入式实时操作系统(RTOS)

在介绍之前先介绍个概念:任务调度方式。

5)任务调度

在嵌入式操作系统中,任务调度方式有三种:不可抢占式调度、可抢占调度、时间片轮转调度

  • 不可抢占式调度:一个任务一旦或者处理器资源就独占处理器运行,直至该任务结束进入等待状态;
  • 可抢占调度:基于任务优先级,当前任务必须随时让位于优先级更高且处于就绪状态的任务;
  • 时间片轮转调度:当两个或两个以上任务有相同优先级时,某个任务运行事先规定的时间,然后切换时另外的任务。

嵌入式操作系统分为嵌入式操作系统和嵌入式实时操作系统(RTOS),两者的主要区别是任务调度方式不同。

嵌入式实时操作系统的任务调度方法基于可抢占调度法,它真的具有实时性。

相关推荐