嵌入式系统软件设计剖析.ppt
文本预览下载声明
(3)支撑软件 支撑软件指辅助软件开发的工具软件,如系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理工具等。 在嵌入式系统当中,系统软件和应用软件运行在目标平台的(即嵌入式设备上)。 而对于各种软件开发工具来说,它们大部分都运行在开发平台(PC机)上,运行Windows或Linux操作系统。 BSP是针对某个特定的单板而设计的。 系统都会提供相应的演示版本的BSP(最小系统BSP)。 BSP对于用户(指系统开发人员)是开放的,用户可以根据不同的硬件需求对其进行改动或二次开发。 BSP主要包括BootLoader(引导加载程序)和设备驱动程序两个方面的内容。 对于不同的嵌入式操作系统,BSP的具体结构和组成是不相同的。 从宿主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被BootLoader写到目标机上的固态存储设备中,BootLoader的这种模式通常在系统更新时使用。 工作于这种模式下的BootLoader通常都会向它的终端用户提供一个简单的命令行接口,比如U-Boot、Blob、VIVI等。 BIOS程序是用户不能更改,编译编程的,只能对参数进行修改设置。但是程序员还可以编程修改BSP,在BSP中任意添加一些和系统无关的驱动或程序,甚至可以把上层开发的统统放到BSP中 注意: 不同的嵌入式系统的EOS所包含的组件可能各不相同,内核设计也可能各不相同的,完全取决于系统的设计以及实际的应用需求。 实时操作系统的特点 嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K~几十K 内)、可固化使用、实时性强(在毫秒或微秒数量级上)的特点 。 嵌入式Linux及应用 Linux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。 Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。 近几年Linux在嵌入式领域异军突起,过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。 * Palm OS是Palm公司的是一种32位的嵌入式操作系统,它的操作界面采用触控式,差不多所有的控制选项都排列在屏幕上,使用触控笔便可进行所有操作。作为一套极具开放性的系统,开发商向用户免费提供Palm操作系统的开发工具,允许用户利用该工具在Palm操作系统的基础上编写、修改相关软件,使支持Palm的应用程序丰富多彩、应有尽有。 Palm操作系统最明显的优势还在于其本身是一套专门为掌上电脑编写的操作系统,在编写时充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存极小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,所以基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。Palm在其它方面还存在一些不足,Palm操作系统本身不具有录音、MP3播放功能等,如果你需要使用这些功能,就需要另外加入第三方软件或硬件设备方可实现。对于中国用户而言,另一个不足之处在于Palm操作系统起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于Palm操作系统的产品在中国市场的大面积进入。其代表性的产品有Palm m505、Palm m500、Palm III等。 * 美国ATI公司90年推出 相关概念 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。 循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。 ISR ISR ISR ISR 后台 前台 中断服务程序 时 间 ——前后台系统 相关概念 实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 ——实时操作系统(RTOS) 一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈
显示全部