析和展望时,也沿用这一观点。
嵌入式系统被描述为:以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
嵌入式系统包括硬件和软件两部分。
而嵌入式系统的软件部分核心是嵌入式操作系统。
嵌入式系统应用热潮的原因只要有几个方面:一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。
另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用
计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。
一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和 Windows 系统的最大区别)。
1.1.1 嵌入式系统的特点 从上面的定义,我们可以看出嵌入式系统的几个重要特征: 1.系统内核小。
由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
2.专用性强。
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。
同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是两个概念。
3.系统精简。
1 μC/OS-II 系统剪裁移植与应用 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
4.高实时性的系统软件OS是嵌入式软件的基本要求。
而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。
5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。
嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
6.嵌入式系统开发需要开发工具和环境。
由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。
开发时往往有主机和目标机的概念,主机用于
程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。
1.1.2 实时操作系统概述 随着信息家电的普及,智能化、网络化将会无所不在,所有这些都离不开嵌入式软件,而在嵌入式软件只中最核心的莫过于 RTOSReal Time Operating System,实时操作系统。
实时操作系统是指能支持实时控制系统工作的操作系统。
其首要任务是调度一切可利用的资源完成实时控制任务,其次着眼于提高计算机系统的使用效率,其重要特点是要满足对时间的限制和要求。
实时操作
系统大多数都支持多任务的运行。
由于多数实时系统是嵌入式的,多数嵌入式系统具有一定的实时性,但不同嵌入式系统对实时性的要求不一样,本文中,若不特别说明,将嵌入式实时操作系统和实时操作系统作为相同的概念。
实时操作系统是嵌入式系统目前最主要的组成部分。
根据操作系统的
工作特性,实时是指物理进程的真实时间。
实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。
其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。
2 μC/OS-II 系统剪裁移植与应用 目前嵌入式应用领域的一个发展倾向是采用实时多任务操作系统 RTOS。
过去一个单片 机应用程序所控制的外设和履行的任务不多,采取一个主循环和几个顺序调用的子程序模块即可满足要求。
目前单片机芯片本身的性能大幅度提高,可以适应应用复杂化这一要求,
问题在于软件上。
随着应用的复杂化,一个嵌入式控制器系统可能要同时控制/监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种信息传递,如果仍采用原来的程序设计方法存在两个问题。
一是中断可能得不到及时响应,处理时间过长,这对于一些控制场合是不允许的,对于网络通信方面则会降低系统整体的信息流量。
二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量成指数增加。
实时多任务操作系统,以分时方式运行多个任务,看上去好象是多个任务“同时”运行。
任务之间的切换应当以优先级为根据,只有优