浅谈嵌入式开发系统的特点
2017-03-31吴叶
吴叶
摘要:随着各种电子产品的快速发展,各种硬件与软件的大量开发,让嵌入式技术的研究得持续升温。要更好的发挥出嵌入式开发系统的作用,就需要认识嵌入式开发系统的特点。在文中主要就嵌入式开发系统的特点进行探讨。
关键词:嵌入式开发系统,特点,计算机技术
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。正如我们所知嵌入式系统开发经过30多年的发展己然成为了一个成熟的技术。他现如今有如下特点:
1)交叉开发工具和环境。嵌入式开发必须要有一套开发工具以及环境才能进行开发,因为嵌入式软件本身是不具备自主开发能力.用户对其中程序功能是无法修改的。而这些工具和环境一般是要依靠在通用计算机上的软硬件设备以及逻辑分析仪、混合信号示波器等设备上进行的。开发时往往有主机和目标机交叉开发的概念,程序的开发,调试需要主机执行,而目标机最后执行。
2)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
3)软硬件协同设计并且专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。
4)软件代码质量与可靠性都十分高。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。虽然现在由于半导体技术的发展使得处理器的速度不断提高,片上存储器的容量也在持续不断增加,但在大多数应用中,存储空间依旧很宝贵并且还有实时性的要求。因此要求程序编写和编译工具的质量要高,以此减少程序二进制代码长度,起到了提高执行速度的效果,而嵌入式系统正好拥有这个优势。
5)系统软件的高实时性。在多任务嵌入式软件中,对重要性各不相同的任务进行统筹兼顾和合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由優化编写的系统软件来完成,因此系统软件的高实时性是基本要求。嵌入式软件应用程序虽然可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源,系统一般以成熟的实时操作系统作为开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
6)生命周期长。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
7)系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
8)系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全
2软硬件协同设计概念
软硬件协同设计是指对系统中的软硬件部分使用统一的描述和工具进行集成开发,可完成全系统的设计验证并跨越软硬件界面进行系统优化。
嵌入式软件设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式软件是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论——软硬件协同设计。这种方法的特点是,在设计时从系统功能的实现角度考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。
系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验米选择模型。
3嵌入式软件开发的方法论
由于一个完整的产品中大部分系统都是非常复杂的,不仅如此与此同时我们还需要考虑很多的因素,比如开发这个产品所需的价格,产品的性能如何,系统设计技术是什么等。唯有全面考虑这些因素我们才可能顺利进行开发,然后才可能做出一个成功的,合格的产品。一般来说,产品设计的过程会经历几个步骤,为了确保这些步骤的合理性,我们需要一个设计方法论来面对整个设计过程。采用方法论有以下三个重要理由。
确认所做的每一件事情都是必须要做的,不做无谓的工作,也不漏掉关键性的重要工作,其中包含性能最佳化或是功能测试。
根据设计方法论可以发展出计算机辅助工具或是设计经验累积,汲取每一次产品开发的经验。再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入自动化。
开发团队遵循同一套方法论,可以让团队成员更容易彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。此外,也容易通过一套已经定义好的方法论,彼此相互合作协调。设计过程的目标是做出有一定用途且具有创新点的产品。产品的典型规格包含功能性、制造成本、性能表现、省电考虑和其他特性。
4结束语
1)嵌入式系统开发在开发过程中综合考虑了软硬件环境和需求,这样开发的软件产品极大的缩短了开发时间,也提高了系统与硬件之间的驱动默契。嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。