刘福禄
重庆工贸职业技术学院 重庆涪陵 408000
摘要:嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。本文嵌入式系统软硬件架构和开发流程进行探讨。
关键词:嵌入式;软硬件架构;开发
1.嵌入式系统定义
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,有些嵌入式系统是由单个程序实现整个控制逻辑(裸跑)。嵌入式系统是软件和硬件的综合体,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
2.嵌入式系统的构成
2.1 硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统和复杂指令系统。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86等。
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器等。Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。
嵌入式系统中常用的通用设备接口有A/D、D/A,I/O接口,RS-232接口、Ethernet、USB、音频接口、VGA视频输出接口、现场总线、串行外围设备接口和红外线接等。
2.2中间层
硬件层与软件层之间为中间层,也称为硬件抽象层或板级支持包,它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。
2.3 软件层
系统软件层由实时多任务操作系统、文件系统、图形用户接口、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
应用软件层是由基于实时系统开发的应用程序组成,用来实现对被控对象的控制功能。功能层是要面对被控对象和用户,为方便用户操作,往往需要提供一个友好的人机界面。
3 嵌入式系统初始化
系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。
完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。
完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。
BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。
4 开发流程
嵌入式系统项目管理分为:?项目启动-->项目计划-->项目实施-->项目收尾-->项目维护。
具体节点如下:产品立项报告-->产品可行性分析报告-->初步设计(编制初步进度计划书)-->硬件详细设计-->软件详细设计-->结构详细设计-->样机生产-->软件自测(验证阶段)-->《测试大纲》和测试-->形成生产文件-->文件归档-->小批量试生产-->批量生产-->文件最终归档
开发流程:项目需求-->系统方案书(方案评审)-->方案设计(设计说明书)-->软硬件开发(开发文档)-->原理样机(测试报告)-->工程样机(测试报告)-->型式试验或认证(试验总结报告或认证证书)-->研发阶段验收
产品化流程:设计资料导入->生产工艺文档-->测试文档(测试要求,测试记录,产品检验标准等)-->良品率(一次通过率、良品率、合格率等)-->售后品质跟踪-->品质问题反馈及持续改进-->版本迭代。
参考文献
[1]涂时亮,?张友德.?单片微机MCS-51用户手册[M].?复旦大学出版社,?2010.
[2]何立民.?MCS-51系列单片机应用系统设计[M].?北京航天航空大学出版,?2011.
[3]刘福禄.的观点只能制技术[M],大连理工大学出版社,2014年1月.
作者简介:刘福禄,男,1964.10.副教授。