00:00
接下来我们给大家简单介绍一下嵌入式操作系统相关的内容,嵌入式是比较大的一个板块,我们在这里呢,考试当中涉及比较频繁的知识内容呢,是关于嵌入式系统和嵌入式操作系统的一些特点,我们在这里呢,主要以这两个维度呢来给大家进行介绍,其他的一些零散的具体的机器型号等等,我们在这里呢,就不再展开进行介绍了,大家可以通过做题来进行积累,考察的重复性不是很高,下面我们先来看一下嵌入式系统,我们通常所说到的嵌入式系统啊,它是比较大的一个内容,它包含的嵌入式操作系统以及呢诶相应的软硬件,那它包括嵌入式硬件平台和支撑硬件,嵌入式的系统以及呢支撑的。
01:00
软件和应用软件来组成嵌入式系统,它三个核心的要素呢,具有一定的嵌入性,专用性,还有呢,涉及到计算机系统,那我们给大家简单介绍一下嵌入式系统所具有的特点,首先呢,嵌入式系统啊,它的专用性非常强。我们一般说啊,嵌入式系统它是以某一个确定的目标或者特定的任务诶为目标来进行开发的,那开发的时候涉及相应的软件硬件都是呢绑定在一起的,这种情况下的话,我们的专用性是非常强的,整个系统啊与特定的应用会有机的结合起来,其实这种情况下,我们一般对嵌入式它的系统更换的话,都是软硬件整体的来更新换代啊,所以一般呃,硬件没有发生变化的话,嵌入式的这种系统软件也很少去需求更换,它在市场当中啊,生命周期呢,相对来说比较长,其次系统它的实时性较强。
02:13
嵌入式系统呢,它一般啊应用的场景会要求我们的系统对外来的事件在非常有限的时间内及时的去做出响应,比如说典型的一些嵌入式应用,大家呢,涉及到像高速当中,诶我们的这个刷卡机制的话,如果刷了之后十分钟才识别,大家是不是显然感受非常差,它会及时的做出响应,实时性呢非常强,大部分的嵌入式系统都是呢,实时的嵌入式系统,其次我们的嵌入式系统啊,它的软硬件依赖性非常强,我们之前呢,提到了嵌入式系统,它除了嵌入式操作系统以外,还包含相应的软硬件的支撑,那它的软硬件都是为了特定目的而协同来设计。
03:14
的我们啊,如果单独去看某一个维度,诶,单独的做软件或者单独做硬件设计的话,都很难呢,达成我们预定的预想的这样的目标,然后在嵌入式系统当中啊,我们一般会用专用的处理器与之匹配,它的处理器呢,会根据我们的需求来进行一些裁剪,来进行了一些设计,这样的话,我们的整个处理器呢,功耗会比较低,体积可以比较小,集成度呢也会非常高,会有利于啊我们在做嵌入式系统设计的时候呢,它的这种小型化和移动能力强的这个目标,那嵌入式系统它涉及呢,多种技术,包括呢,诶我们的通用的计算机技术,还有呢,诶半导体相关的硬件相关的一些技术,电力电。
04:14
子相关的技术,机械相关的技术,还有我们应用目标上与相关行业相结合的技术,都需要紧密的去结合,所以嵌入式的开发对于我们人员的要求也会呢比较高啊。相比于通用计算机来看的话,我们通用的PC机呢,有时候也会考虑到这些技术,但是呢,它的这种紧密程度啊,没有嵌入式要求这么高,然后系统透明性,我们的嵌入式系统啊,与通用计算机呢,会有一些区别,我们的通用计算机会强调用户来做一些操作,鼠标键盘这样的输入输出设备是非常明显的,而在嵌入式系统当中,你可能感受不到它的输入和输出,它会有呢一定的透明性,用户呢只需要去了解它的功能,却不需要了解它系统的相关情况,诶比如说我们前面提到的高速刷卡ETC的话,有没有要求大家去自己手动做一些操作,诶需不需要了解这个嵌入式系统大概什么样?不需要吧,我们一般呢,强调的是它对它功能的使用,而不是系统本身的最后。
05:32
系统的资源非常的受限,嵌入式系统的开发它的要求啊比较多,尤其呢在硬件方面的话,我们啊会要求它的规模比较小,尽可能的去做集成,然后可靠性会比较高,成本一般来说呢,会要求比较低,功耗的要求比较低,那这些限制了我们去选择硬件的范围,对于嵌入式系统当中啊存储容量诶,还有IO的一些数量,还有处理器的处理能力都会呢受到限制,我们一般使用的会比较紧凑,那就是呢,嵌入式系统的一些特点。
06:19
针对嵌入式系统而言的话,里面呢会包含嵌入式操作系统,我们一般对于一个嵌入式它的系统而言的话,中间呢会涉及到嵌入式操作系统,底层呢,会有嵌入式它的硬件以及呢,呃,硬件平台和支撑硬件,上层的是我们的呃支撑软件以及呢应用软件,那在嵌入式操作系统当中的这一个级别的操作系统,它可以完成常规操作系统的一些功能,但是相对来说与常规操作系统的会有一些区别,首先的话,我们不会去实现非常多的功能,因为要考虑它规模上的具有微型化的特点,我们在考虑嵌入式系统的时候,它的整个规模显然呢是不会太大的,那这里呢,体现的就是微型化的。
07:19
特点,毕竟我们做的是嵌入式系统开发,而不是常见的这种PC级了,嵌入式系统的话,它里面啊所涉及到的一些呃,硬件方面像内存外存都会呢非常少,一般呢是几乎没有外存的,内存是非常小巧的,要尽可能少的去占用我们的系统资源,其次的话,我们针对啊这个小容量诶相应的机器来做开发的话,我们的整个程序代码肯定要尽可能的去精简,它对代码的质量要求非常高,然后呢,嵌入式系统它也具有专业化的特点,它是根据我们特定的应用领域,根据我们的应用目标,特定的任务来进行设计的,这个设计啊是具有相应的专业性,而没有普适性的啊,所以它是针对啊特定的应用领域而。
08:19
科技的,那我们考虑特定应用领域的时候,在这里啊,操作系统它还需要适应不同的硬件,还要适应不同的开发平台,我们呢,一般啊,会在嵌入式操作系统和硬件之间增加一个层次,那抽象出一个呢,叫做硬件抽象层的东西,那这种硬件抽象层可以针对不同的硬件平台来定义一些呢,方便移植的宏定义的接口,那这个接口的层次一方面要适应上面的操作系统,一方面要适应下层的硬件,那它与硬件相关,与操作系统相关,当我们将这个操作系统进行移植的时候呢,只需要去修改它的宏定义就可以了,对于硬件来说就具有了一定的。
09:19
的可移植性,那这也是呢,嵌入式操作系统它的一个典型特点,那涉及到硬件抽象层,它会将这样的诶相应的硬件的抽象出来,它也叫做板级支撑包BP,它可以啊以包的形式与我们的嵌入式系统进行打包绑定,那这是呢,我们提到的嵌入式它的专业化以及呢呃可移植性呃比较强,适应性比较强的特点,那我们在嵌入式系统当中呢,同样要求实时性强,因为我们在前面提到嵌入式系统一般是用于呃对实时性响应要求较高的场合,那我们的嵌入式操作系统也必须呢,要具有实时性强的特点,最后呢,我们的嵌入式操作系统可以呢,根据需求去进行裁剪,去进行配。
10:19
配置,那这里呢,就体现了嵌入式操作系统它的适应能力,我们可以呢,根据啊应用的特点和具体的要求来进行配置裁剪,从而呢来适应我们的这种小型化,微型化以及呢专业化的一些要求,那就是嵌入式操作系统的特点,我们呢在考试当中对这一部分的考察,主要涉及的就是让大家来判断相应特点的描述是否正确,尤其是对版级支撑包,硬件抽象层考察较多。
11:00
板级支撑包可以呢,简称为BSP,接下来我们来看一看呢,嵌入式系统它的开发和设计,嵌入式啊,它的系统开发大部分的内容呢,跟我们的软件系统开发很相似,但对于嵌入式它跟多了一些呢,对硬件的考虑过程,由于啊嵌入式最终会将具体的系统给他呢,诶烧制到相应的集成电路上面去,所以最终这个系统它会呢,放到一个目标机当中,这个目标机呢可以理解为集成电,那我们如何来针对集成电来做开发,显然呢,我们诶很难去做到吧,所以我们在实际做开发的时候,会通过一个宿主机,在这个宿主机上的开发软件平台来进行开发,那开发之后会将。
12:00
相应的软件下载放到我们的目标机当中来进行调用,那宿主机和目标机二者之间啊,以什么来连接呢?它可以以以太网连接,可以以仿真器连接,可以以USB连接,还可以呢,以串口信号来连接,多种方式都是呢可行的,我们在整个开发的过程当中,首先啊是通过在宿主机的环境下,然后呢,打开一个开发平台,类似于呢,我们可以用C诶来进行C和C加加来做呢,嵌入式的开发法,那开发环境是在宿主机系统上,我们将相应的软件代码写出来之后啊。这些软件和代码可以呢,诶根据我们的这个执行过程,印象下载到目标机的内存当中,然后呢,让目标机来进行调用,那显然宿主机的环境和目标机的境,一个是常用的PC机,一个是嵌入式集成的这种电路芯片之类的东西,两个环境完全不一样吧,所以我们把这种环境呢,叫做交叉开发,那交叉的开发环境运行在宿主机上面的是我们的开发工具,然后写出来的相应的程序,最终会在目标机上进行调试,进行执行,这就是呢,诶我们嵌入式的交叉开发,那这里面会生成一些代码部分的东西,也可以呢,写成动态链接库,从而呢来进行。
13:52
动态链接,这就是我们给大家介绍到的,简单了解到,呃,关于嵌入式开发它的一个基本情况,那么我们说嵌入式开发它不仅仅要考虑软件,还要考虑硬件部分,它还有一个特殊的开发目标,诶叫做呢低功耗的设计,嵌入式要求规模小,还要求成本低,并且呢要低功耗,因为我们在推出嵌入式相关的系统的时候啊,显然它不像我们PC机还天天呢插个电源直接用吧,它会具有一定的移动端的特点,那这种移动端它就是使用电池较多的形式,而不是电源这种连接式的形式了,那要求低功耗的话,这个低功耗要从硬件考虑,还要呢从软件去考虑,两个维度来协同开发那。
14:52
那硬件方面的低功耗主要考虑的就是选择板机电诶低功耗的设计,呃或者低功耗的处理器,低功耗的总线接口,驱动电路的设计呢,也要从低功耗的角度去考虑,可以呢分区分时进行供电,这都是呢硬件维度的考虑了,那从软件维度来看的话,我们可以呢减少关于指令的开销诶进行优化编译,然后呢,可以将部分硬件功能呢交给软件来完成,这样硬件的规模就可以呢随之减少吧,从而呢降低电路功耗,那这是呢,软件和硬件需要呢协同去进行设计,从算法的角度上来看,我们可以进行算法优化,降低算法的时间复杂度,执行的时间短呢,功耗呢也就随之降低了,这是对低。
15:52
封号设计两个维度的策略。以上呢就是我们给大家讲到的关于啊嵌入式系统和嵌入式操作系统,嵌入式系统开发的一些内容,下面我们来看呢,这部分在系统架构师考试真题当中的体现,以下关于嵌入式系统开发的叙述当中正确的是谁?那A选项,宿主机和目标机之间只需要建立逻辑连接,逻辑连接不够啊,必须要有物理线路上的连接,我们才能传递信息。B选项,宿主机和目标机之间只能采用串口通信,我们可以用以太网仿真器,还可以用USB接口,也可以呢用串口,所以只能采用串口的说法呢,也是错误的。C选项在宿主机上必须采用交叉编译器来生成目标机的可执行代码,这个说法呢是正确的,我们必须呢采用交叉编译。
16:56
才能生成可执行的这种代码。D选项调试器和被调试程序必须安装在同一台机器上,那显然调试器我们其实考虑到的一部分是在我们的宿主机来进行相应的开发调试吧,而具体的执行程序,被调试的程序是在呢目标机上来运行,跑起来才能够做检查的。所以D选项的说法也是错误的,这道题选择的应该是C选项。
17:30
这是对嵌入式开发环境的考察,下面这道题,以下关于嵌入式系统当中硬件抽象层的叙述,错误的是谁?硬件抽象层啊,它是呢,与操作系统相关,与硬件相关的一个层次吧,它是在操作系统与硬件之间增加了一个层次,那增加了这个层次,它将的操作系统与硬件平台隔开了,隔开之后我们可以单独针对硬件抽象层来开发它的宏定义吧,从而呢,脱离我们的软件和硬件的设计,那软硬件部分就可以呢,分开进行设计和调试,相互之间任务可以并行,那其次呢,诶,我们的硬件抽象层它会与硬件密切相关,诶,我们要。
18:31
考虑具体的硬件内容来写红定义吧,那这个硬件相关的话,诶,我们通过这个硬件抽象层,操作系统需要了解硬件吗?不需要他访问抽象层的宏就可以了,他可以啊,对操作系统隐藏硬件的多样性,而D选项硬件抽象层应该包括设备驱动程序和任务调度,设备驱动程序和任务调度是谁的工作啊,它是操作系统的工作啊,所以在这里的话,我们的设备驱动与硬件相关,而任务调度呢,一般是操作系统具体来考虑的,它与硬件抽象层是没有关系的,硬件抽象层不属于硬件,也不属于操作系统,这是呢对硬件抽象层的考察,再来看下面这道题,以下描述当中哪一个不是嵌入式操作系统的特?
19:31
特点,那嵌入式操作系统它是面向特定应用的,可以进行裁剪和移植,那它可以用于特定领域,诶要不要支持多任务呢?需要支持多任务,不需要的说法是错误的。C选项,嵌入式操作系统它的可靠性比较高,不需要人工干预,可以独立运行并处理各类事件和故障,这是呢属于操作系统的特点,我们提到呢,ETC的例子当中的话,一般是不需要人工来进行干预,这个系统会独立来运行,可以呢处理各类事件和故障,最后要求编码体积小,能够呢在嵌入式的有效系统空间内运行,这是要求我们的代码质量比较高,所以在这里ACD的说法都是正确的,B选项的说法呢是错误的。
20:31
那这是呢,对嵌入式操作系统特点的考察,除了我们前面讲到的以外,还提出了一个可靠性高的特点,这也是呢,属于嵌入式操作系统的特点之一,以上呢就是我们给大家讲到的关于嵌入式系统,嵌入式操作系统,嵌入式系统开发的一些内容,我们对嵌入式的介绍主要呢,是以点来进行介绍的,大家可以自己啊去进行拓展和延伸。
我来说两句