教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社
软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。
软件产品的特性
从运行平台来分,嵌入式软件可以分为
板级初始化程序、与系统软件相关的驱动、与应用软件相关的驱动
操作系统层包括嵌入式内核(基础)、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分
目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件
主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行
基于多任务操作系统的嵌入式软件的主要运行流程,该运行流程主要分为5个阶段
板级初始化程序具有完全的硬件特性,一般采用汇编语言实现
不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:
根据需要分别进入系统软件引导阶段或系统升级阶段
系统引导阶段
系统升级阶段
进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级
系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作
在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作
各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能