微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统软件及编程语言

嵌入式系统软件及编程语言

时间:04-18 来源:嵌入式在线 点击:

下一些优点:

1)Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越在嵌入式系统开发中仿真工具(ICE)的障碍。

2)内核的完全开放,使得可以自己设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现。

3)强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。
在嵌入式系统中使用Linux有2种途径:

  1)是用户自己装配(称为DIY内核),可以在www.kernel.org和GNU的网站找到全部Linux代码,然后再编译生成你需要版本的工具链和应用程序库,这个过程比较耗时和困难。还需要指出,这种DIY内核的配置,添加应用和驱动程序也是不标准的和复杂的,这是嵌入式系统的特殊性所在,比如说,有的应用是网络上的小型互连设备,它需要多个以太网、USB主机、小型的NOR Flash文件系统,而一个手持终端,它关心的是LCD的触屏、红外或蓝牙的接口、USB用户端、快速的启动,动态的电源管理和NADA FLASH,这样就需要在数十家Linux相关网站下载各种补丁、应用和工具,把它们和内核进行反复的编译和调试,确信它们之间以及它们在硬件评估板上是稳定可靠工作的,这个过程是在没有任何技术支持下完成的。

  2)选择一个商业的嵌入式Linux操作系统平台。商业化的嵌入式Linux版本是针对嵌入式处理器所优化设计的,已经支持了各种半导体厂家的评估板和主要的设备驱动,商业化的嵌入式Linux包含了文件系统、应用、实时性扩展和技术支持培训服务。

  现今国外著名的商业化嵌入式Linux产品有:MontaVista Linux, Bluecat Linux, Timesys Linux, Metrowork Linux(原Lineo), Vlinux(韩国)和Redhat Linux等,国内也有红旗、中软等嵌入式Linux。
(4)嵌入式Windows操作系统:

  微软公司从1996年开始以其Windows CE 1.0版本涉足小型嵌入式系统。Windows CE 1.0是一种从头做起的代码库,面向具有图形界面的手持设备,在外观和感觉上像Windows 95。同样,台式Windows的组件化版本于1999年面世,其一个工具组和大约250个组件均来自Windows NT。

  就嵌入式操作系统而言,Windows 是一种很有吸引力的选择,因为它有大家熟悉的API,可以找到熟练的程序员和廉价的部件,而且还可以利用台式PC许多强大的功能。微软公司最新嵌入式产品,即Windows XP 嵌入式操作系统和Windows CE.Net操作系统,都为开发人员带来了新的特性和功能。

   微软公司的Windows XP嵌入式操作系统与其台式XP操作系统专业版一样都基于相同的二进制代码,而且XP嵌入式操作系统是Windows NT 4.0嵌入式操作系统的后继版本。嵌入式版本包括含有台式版本所有的安全功能、多媒体功能、Web浏览功能、电源管理功能和设备支持功能,只是将台式版本分解为10000多个组件,所以开发人员可以选择某些单元来构建一个定制的占用内存容量小的操作系统。Windows XP嵌入式操作系统及最新的服务包都有很多新的通信选购件、文件系统选购件和开发工具选购件,这些选购件可使设计小组在以后的项目中选用这一操作系统。

  Windows CE.NET建立在不同于台式操作系统的体系结构上。其设计目标包括广泛的无线连接性、实时功能和与设备无关的Web服务。与 Windows XP Embedded不同, Windows CE.NET支持 ARM、 MIPS、 SHx和 x86等系列处理器,从而使其适用于各种各样嵌入式产品。Windows CE.NET包含了.NET Compact Framework,这是微软公司的智能设备开发平台,可在任何时候、任何地点和在任何设备上为消费者提供Web服务。为支持NET Compact Framework,Windows CE.NET包括一套集成的端到端工具和几种定制开发语言,如Visual Basic.NET、Visual C++.NET和Visual C#.NET。

3、嵌入式系统高级编程语言:

  目前,在嵌入式系统开发过程中使用的语言种类很多,但仅有少数几种语言得到了比较广泛的应用,主要为Ada、C/C++、Modula-2等几种。
  Ada语言是20世纪70年代美国国防部开发并投入使用的功能强大的通用系统开发语言,最初为Ada83。它支持模块化、独立编译、协处理等功能,其可靠性、可维护性、可读性都是相当好的。后来,为了更好地支持OOP(Object-Oriented Programming),对其进行了改进,形成了目前广泛使用的Ada95。使用Ada语言可以大大改善系统的清晰性、可靠性、可维护性等性能指标。它是美国国防部指定的唯一一种可用于军用系统开发的语言。
   C语言是由Dennis Richie于1972年在AT & Bell实验室研究成功并投入使用的系统编程语言,其设计目标是使C既具有汇编语言的效率,又具有高级语言的易编程性,其最具代表性的应用是UNIX操作系统。从20世纪80年代中期C语言涉足实时系统后,受到了普遍欢迎。目前是使用最广泛的嵌入式系统编程语言。C++是由Bjarne Stroustrup于1995年在Bell实验室研制成功并投入使用的。C++在支持现代软件工程、OOP、结构化等方面对C进行了卓有成效的改进,但在程序代码容量、执行速度、程序复杂程度等方面比C语言程序性能差一些。
   Modula-2是由Nicklans Wirth在70年代后期根据Pascal和Modula开发的系统设计语言,其主要目标是在模块化、系统编程、协同处理等方面对Pascal 进行改进。Modula-2具有很强的类型检查能力和丰富的低级功能支持。因此,可用它设计一个完整的实时程序而不用汇编语言的支持。Modula-3是 1988年由DEC (Digital Equipment Company)和ORC(Olivetti Research Center)根据Modula-2开发研制并投入使用的系统开发语言。目标是设计一个功能强大但结构简单的通用编程语言,它在协同处理、OOP、自动垃圾收集以及对C语言和UNIX的支持等方面对 Modula-2进行了改进。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top