论文部分内容阅读
[摘要]简述了嵌入式系统的发展现状以及智能控制在嵌入式系统中的应用,并在此基础上着重讨论嵌入式系统开发、支撑环境,虚拟系统集成技术在构造嵌入式系统开发环境中的应用,介绍几种虚拟验证方法。
[关键词]嵌入式系统 嵌入式软件 虚拟系统集成
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)0520022-01
一、模糊技术与人工智能技术在嵌入式系统中的应用
嵌入式系统与模糊逻辑相结合反映在两个方面。一方面产生了模糊微控制器,另一方面产生了用于模糊控制的各种模糊开发软件和开发系统。模糊逻辑开发软件和开发系统有两类。一类是针对数字微控制器的,它的模糊控制机理要用软件实现,开发软件和开发系统的目的就是要产生能实现预定的模糊控制方式的微控制器软件。另一类是针对对模糊微控制器的,它的模糊控制机理要用参数设定,这种开发软件和开发系统的目的则是要产生模糊微控制器的结构参数。
二、几种常用的嵌入式系统调试环境
简单软件仿真系统。这种方法是在宿主机上只构造虚拟目标机。仿真执行嵌入式软件时,虚拟目标机与外部环境之间的信号交换需通过手工设定并以交互方式进行。这种方法很难描述外部环境的并发性和实时性,离不开对硬件调试设备及手段的依赖。
在线仿真器调试方法。这种方法是目前调试嵌入式软件普遍使用的方法。这种方法是在宿主机上交叉汇编生成目标机的目标码,然后通过仿真头将目标机的执行码装入到目标机上实际运行,并通过宿主机和目标机上的监控程序之间的信息传递来控制目标机上的目标码的执行。该方法需要反复调试嵌入式软件及嵌入式系统的硬件环境。
分布式仿真解决方案。大致包括以下几个部分:(1)起运行控制作用的仿真头。(2)利用调试软件,通过仿真头访问外部硬件环境,并执行调试功能。(3)通过LAN连到主机的逻辑分析仪提供实时的分析。
作为硬件设计工具的逻辑分析仪,目前在嵌入式设计的不同阶段都可发挥很大的作用。随着LAN以及主机X-WINDOWS界面技术的发展,分析人员利用其可以较容易地发现系统集成过程中所出现的问题。分布式仿真为软件开发者及硬件工程师开发调试以新一代处理器为核心的嵌入式系统提供了一个一致的、灵活的、且具有一定规模的工具。
三、虚拟集成与虚拟验证技术
一般,嵌入式系统开发分为几个不同的开发阶段。首先通过需求分析确定嵌入式系统所要实现的功能,并在系统级对所实现的功能进行验证。然后将功能分解为软件实现和硬件实现两个部分。在此之后系统开发进入两个相对独立的开发阶段。当嵌入式软件及外部硬件环境设计结束之后,进入系统集成及系统测试阶段。在此阶段嵌入式软件运行于目标硬件环境中,以此来调试嵌入式软件并同时验证系统是否实现了预期的功能。
随着硬件技术,特别是VLSI技术的不断发展,数字系统的复杂程度不断提高。与此同时,专用集成电路的广泛应用使得嵌入式系统硬件设计的难度进一步增加。在嵌入式系统的开发过程中,常常因为硬件设计的不当而影响整个系统的性能。因此在嵌入式系统硬件制造之前,应首先对包括硬件在内的整个系统功能进行验证,以确保系统所实现的功能与最初功能规格说明中的要求相一致。
解决上述矛盾的一个比较现实的方法是加强嵌入式软件开发及外围硬件设计阶段之间的信息交流。即在功能分解阶段后,借助模拟技术和虚拟原型技术对系统进行集成及测试,以期发现错误并对功能分解进行优化。这种虚拟系统集成技术强调协同设计和虚拟环境的构造。下面是几种协同设计方法和利用虚拟系统集成技术实现的全系统模拟方案的分析。
利用全功能模型执行目标代码的方法。这种方法是首先利用HDL编写微处理器或微控制器的全功能模型及相关外部硬件环境的功能模型。然后将嵌入式软件编译成目标码,并装入微处理器模拟器的内存模块逐条执行。这种方法最大的缺点是模拟时间长,在很多情况下几乎不能使用。并且全功能处理器模型非常复杂,很难构造。同时由于专利的原因,全功能模型很难获得。
基于指令级模拟器的虚拟系统集成,这种协同模拟方法利用指令集模拟器模拟嵌入式软件的执行。指令集模拟器是一个C语言程序,它是嵌入式软件的解释器。它根据嵌入式软件的执行情况修改处理器状态,并在处理器端口产生与指令执行相对应的端口事件。指令集模拟器通过这些端口事件与嵌入式系统的离散事件模拟器进行通讯,以实现软件、硬件的协同模拟。
这种方法与采用处理器全功能模型的模拟方法相比,由于节省了处理器内部硬件结构离散事件的调度处理开销,因而可以大幅度提高协同模拟的执行速度。解决好软件与硬件之间的同步问题是保证该协同模拟方法正确性,及提高模拟速度的关键。
利用hardware modeller执行目标代码的方法。一种减少全功能模型执行时间的方法是将处理器及内存模型代之以真实的芯片,这些芯片通过hardware modeller与外部硬件环境模拟器相连。这34种技术允许抛开处理器的复杂性而进行全功能模拟。但是,昂贵的hardware-modeller并非总能带来模拟速度的提高。瓶颈产生于软件模拟器并不能实时地处理微处理器所产生的信息。同时,由于程序运行于目标级,嵌入式软件的可见性难以保证。
利用功能函数模拟硬件环境的方法。当一个新项目开始时,最终执行软件程序的目标系统可能并不存在。为测试软件,程序可以交叉汇编到一个已经存在的系统上,硬件的功能可用模型化的函数功能来模拟。这种方法允许在硬件不存在的情况下,测试软件的大部分功能。这种方法的主要问题是它只提供硬件操作的近似仿真。
硬件仿真方法。这种技术是利用可编程的逻辑器件(例如,FPGA)构造外部硬件环境,它与微处理器或微控制器芯片一起构成仿真环境,嵌入式软件在此环境中运行调试。这种方法的优点是快速,并且在外围硬件定型前即可进行目标级调试。缺点是硬件投资大且调试周期长。
四、结束语
目前嵌入式工业具有硬件复杂化(RISC,ASIC技术的广泛应用)及软件智能化两个发展趋势。随着嵌入式系统复杂度的不断提高。虚拟集成及虚拟验证技术将在嵌入式工业中发挥着越来越重要的作用,实用、快速、准确的仿真和模拟技术将为整个嵌入式工业注入新的活力,并推动整个嵌入式工业的发展。
参考文献:
[1]Gajski D D,Vahid F。Specification and design of embedded hardware-software systems。IEEE Design & Test of Computers,1995.
[2]Antao B A A。Trends in CAD of analog ICS。IEEE Circuits & Devices,1996,12(5).
[3]薛宏熙,边计年,苏明,数字系统设计自动化,北京:清华大学出版社,1996.
[关键词]嵌入式系统 嵌入式软件 虚拟系统集成
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)0520022-01
一、模糊技术与人工智能技术在嵌入式系统中的应用
嵌入式系统与模糊逻辑相结合反映在两个方面。一方面产生了模糊微控制器,另一方面产生了用于模糊控制的各种模糊开发软件和开发系统。模糊逻辑开发软件和开发系统有两类。一类是针对数字微控制器的,它的模糊控制机理要用软件实现,开发软件和开发系统的目的就是要产生能实现预定的模糊控制方式的微控制器软件。另一类是针对对模糊微控制器的,它的模糊控制机理要用参数设定,这种开发软件和开发系统的目的则是要产生模糊微控制器的结构参数。
二、几种常用的嵌入式系统调试环境
简单软件仿真系统。这种方法是在宿主机上只构造虚拟目标机。仿真执行嵌入式软件时,虚拟目标机与外部环境之间的信号交换需通过手工设定并以交互方式进行。这种方法很难描述外部环境的并发性和实时性,离不开对硬件调试设备及手段的依赖。
在线仿真器调试方法。这种方法是目前调试嵌入式软件普遍使用的方法。这种方法是在宿主机上交叉汇编生成目标机的目标码,然后通过仿真头将目标机的执行码装入到目标机上实际运行,并通过宿主机和目标机上的监控程序之间的信息传递来控制目标机上的目标码的执行。该方法需要反复调试嵌入式软件及嵌入式系统的硬件环境。
分布式仿真解决方案。大致包括以下几个部分:(1)起运行控制作用的仿真头。(2)利用调试软件,通过仿真头访问外部硬件环境,并执行调试功能。(3)通过LAN连到主机的逻辑分析仪提供实时的分析。
作为硬件设计工具的逻辑分析仪,目前在嵌入式设计的不同阶段都可发挥很大的作用。随着LAN以及主机X-WINDOWS界面技术的发展,分析人员利用其可以较容易地发现系统集成过程中所出现的问题。分布式仿真为软件开发者及硬件工程师开发调试以新一代处理器为核心的嵌入式系统提供了一个一致的、灵活的、且具有一定规模的工具。
三、虚拟集成与虚拟验证技术
一般,嵌入式系统开发分为几个不同的开发阶段。首先通过需求分析确定嵌入式系统所要实现的功能,并在系统级对所实现的功能进行验证。然后将功能分解为软件实现和硬件实现两个部分。在此之后系统开发进入两个相对独立的开发阶段。当嵌入式软件及外部硬件环境设计结束之后,进入系统集成及系统测试阶段。在此阶段嵌入式软件运行于目标硬件环境中,以此来调试嵌入式软件并同时验证系统是否实现了预期的功能。
随着硬件技术,特别是VLSI技术的不断发展,数字系统的复杂程度不断提高。与此同时,专用集成电路的广泛应用使得嵌入式系统硬件设计的难度进一步增加。在嵌入式系统的开发过程中,常常因为硬件设计的不当而影响整个系统的性能。因此在嵌入式系统硬件制造之前,应首先对包括硬件在内的整个系统功能进行验证,以确保系统所实现的功能与最初功能规格说明中的要求相一致。
解决上述矛盾的一个比较现实的方法是加强嵌入式软件开发及外围硬件设计阶段之间的信息交流。即在功能分解阶段后,借助模拟技术和虚拟原型技术对系统进行集成及测试,以期发现错误并对功能分解进行优化。这种虚拟系统集成技术强调协同设计和虚拟环境的构造。下面是几种协同设计方法和利用虚拟系统集成技术实现的全系统模拟方案的分析。
利用全功能模型执行目标代码的方法。这种方法是首先利用HDL编写微处理器或微控制器的全功能模型及相关外部硬件环境的功能模型。然后将嵌入式软件编译成目标码,并装入微处理器模拟器的内存模块逐条执行。这种方法最大的缺点是模拟时间长,在很多情况下几乎不能使用。并且全功能处理器模型非常复杂,很难构造。同时由于专利的原因,全功能模型很难获得。
基于指令级模拟器的虚拟系统集成,这种协同模拟方法利用指令集模拟器模拟嵌入式软件的执行。指令集模拟器是一个C语言程序,它是嵌入式软件的解释器。它根据嵌入式软件的执行情况修改处理器状态,并在处理器端口产生与指令执行相对应的端口事件。指令集模拟器通过这些端口事件与嵌入式系统的离散事件模拟器进行通讯,以实现软件、硬件的协同模拟。
这种方法与采用处理器全功能模型的模拟方法相比,由于节省了处理器内部硬件结构离散事件的调度处理开销,因而可以大幅度提高协同模拟的执行速度。解决好软件与硬件之间的同步问题是保证该协同模拟方法正确性,及提高模拟速度的关键。
利用hardware modeller执行目标代码的方法。一种减少全功能模型执行时间的方法是将处理器及内存模型代之以真实的芯片,这些芯片通过hardware modeller与外部硬件环境模拟器相连。这34种技术允许抛开处理器的复杂性而进行全功能模拟。但是,昂贵的hardware-modeller并非总能带来模拟速度的提高。瓶颈产生于软件模拟器并不能实时地处理微处理器所产生的信息。同时,由于程序运行于目标级,嵌入式软件的可见性难以保证。
利用功能函数模拟硬件环境的方法。当一个新项目开始时,最终执行软件程序的目标系统可能并不存在。为测试软件,程序可以交叉汇编到一个已经存在的系统上,硬件的功能可用模型化的函数功能来模拟。这种方法允许在硬件不存在的情况下,测试软件的大部分功能。这种方法的主要问题是它只提供硬件操作的近似仿真。
硬件仿真方法。这种技术是利用可编程的逻辑器件(例如,FPGA)构造外部硬件环境,它与微处理器或微控制器芯片一起构成仿真环境,嵌入式软件在此环境中运行调试。这种方法的优点是快速,并且在外围硬件定型前即可进行目标级调试。缺点是硬件投资大且调试周期长。
四、结束语
目前嵌入式工业具有硬件复杂化(RISC,ASIC技术的广泛应用)及软件智能化两个发展趋势。随着嵌入式系统复杂度的不断提高。虚拟集成及虚拟验证技术将在嵌入式工业中发挥着越来越重要的作用,实用、快速、准确的仿真和模拟技术将为整个嵌入式工业注入新的活力,并推动整个嵌入式工业的发展。
参考文献:
[1]Gajski D D,Vahid F。Specification and design of embedded hardware-software systems。IEEE Design & Test of Computers,1995.
[2]Antao B A A。Trends in CAD of analog ICS。IEEE Circuits & Devices,1996,12(5).
[3]薛宏熙,边计年,苏明,数字系统设计自动化,北京:清华大学出版社,1996.