32位嵌入式系统——IT从业人员的机遇与挑战
扫描二维码
随时随地手机看文章
1、我国嵌入式技术及应用现状
自上个世纪七十年代提出嵌入式系统的概念以来,嵌入式系统以其高性能、低功耗、低成本和小体积等优势,获得了飞速的发展与广泛的应用,然而,由于受到当时硬件水平的制约,嵌入式系统的软件开发方式与以PC为代表的通用计算机系统的软件开发方式一开始就完全不同。当时的嵌入式系统硬件平台一般都是基于8位机的简单系统,系统的硬件设计者通常也是系统的软件开发者,编程语言绝大多数也以汇编语言为主,硬件设计者在进行硬件系统的设计时,同时会考虑程序如何编写,而在进行程序设计时,也会考虑与硬件的配合,因此,嵌入式系统的设计开发人员一般都非常了解系统的底层软、硬件细节。由于软、硬件条件的制约,这些系统一般都用于实现一个或几个简单的数据采集与控制功能,程序结构多使用简单的控制循环,配合中断服务来实现对外界请求的相应,不采用操作系统,所以,他们对通用计算机基于操作系统的软件开发工具和技术的理解与掌握比较有限。而与此同时,另一大批人则对以Microsoft Windows、Linux为代表的操作系统技术深深着迷,醉心于在这些操作系统上的应用程序开发,他们感兴趣的东西是如何使用诸如VB、VC、Java之类的高级编程语言,在操作系统平台上实现更复杂和更精彩的应用,而不太关心系统的更多的硬件细节。传统的观点一般将前者归类为硬件开发人员,而后者通常被称之为软件程序员。这两大群体在很长一段时间几乎也是井水不犯河水,各自有着不同的开发应用领域。
然而,随着计算机软、硬件技术的飞速发展和人们的应用需求越来越高,特别是随着以ARM、PowerPC、MIPS等为代表的高性能嵌入式微处理器普遍使用,使传统意义上的嵌入式系统的概念发生了很大的变化。以基于8位机的嵌入式系统为例,当应用系统随着需求的增加变得越来越复杂、使用范围变得越来越广泛时,系统每增加一项新的功能,都会带来应用软件结构的变化,甚至需要完全重新设计,而这种问题在基于操作系统的通用计算机上就小得多,显然,没有操作系统的支持已经成为传统的嵌入式系统的最大的缺陷,但由于8位机系统有限的运算能力和存储容量,不足以支持操作系统的运行,因此,在很长一段时间以来,人们尽管已经意识到这个问题的存在,但也没有更好的解决办法。
自上个世纪九十年代以来,嵌入式系统的设计提出了“片上系统”(SoC,System on Chip)的概念,目前,嵌入式系统的硬件设计已进入以SoC为核心的阶段,显然,SoC为高性能的嵌入式系统开发的提供了功能丰富的硬件平台,而这些平台强大的运算能力和存储能力,足以支持复杂嵌入式操作系统(EOS,Embedded Operating Systems)的运行。
嵌入式操作系统的发展是伴随的嵌入式微处理器性能的不断提高而逐渐发展起来的,最近几年来,嵌入式操作系统的应用领域不断扩大,其原因主要是嵌入式系统软件开发复杂度的增加,同时,高性能的嵌入式微处理器的推广使用,为嵌入式操作系统的可靠运行提供了硬件平台的保障。目前,在嵌入式系统中使用的操作系统种类也非常繁多,其中,市场份额占有比较高的有Linux/uClinux、Windows CE、VxWorks、QNX、 uC/OS II等。嵌入式系统主要可分为两大类,一类是商业级的嵌入式操作系统,这类操作系统一般都经过较长时间的使用,且都由一些大公司开发与维护,在性能或服务上都有较好的保证,如Windows CE、VxWorks、QNX等,但这类操作系统一般价格比较昂贵,且都不公开核心代码,这就与嵌入式系统用户定制性较强、升级换代快等特点相违背,因此其应用范围受到了很大的限制。另一类则是源代码开放的嵌入式操作系统,如Linux/uClinux、uC/OSII等,尽管这类系统在技术支持和服务上有所欠缺,且对开发人员有较高的要求,但由于用户可定制性好、具有可持续开发的优势,从目前看来,其应用范围反而比商业嵌入式操作系统广泛得多。
2、IT从业人员面临的机遇与挑战
随着信息技术、网络通信技术的高速发展,嵌入式技术会深入到越来越多的应用领域,与实际应用紧密结合且技术高度分散的嵌入式技术,为我们国内一大批优秀的硬件系统工程师和软件设计人员,提供了新的舞台和发展空间,同时也为我国的IT技术发展提供了难得的历史机遇,因此,提高我国整体的嵌入式技术开发与应用水平,掌握一定的开发核心技术,既是我国IT技术发展的需要,也是广大IT从业人员的责任。
众所周知,任何一门技术的发展,人才的培养是关键,嵌入式技术的发展也不例外。对于我国嵌入式人才的培养,一方面可以充分利用我国的高等教育资源,在工科高校的相关专业加强嵌入式系统的教学,为我国嵌入式技术的发展提供大量优秀的后备人才,而另一方面,鉴于目前我国有一大批高素质的IT从业人员,他们通过一定的培训和学习,就可以很快成为嵌入式技术开发的主力军。从目前的情况看来,我国IT人员结构不太适合嵌入式技术发展的需要,即精通低端8位系统设计开发的应用技术人才和纯粹的软件编程人员相对过剩,而真正掌握软硬、件技术相结合的高端32位嵌入式系统开发的人才却比较少,整个IT从业人员的结构呈两端大、中间小的哑铃结构。
如何在较短的时间内解决我国高端嵌入式人才缺乏的现状?笔者认为,比较行之有效的方法是除了加大在工科高校培养嵌入式应用人才的力度以外,更主要的是注重对现有IT从业人员的转型,由于他们都有多年的IT从业经验和较高的专业素养,很快就可以成为行业应用的骨干力量。但目前的实际情况是,绝大多数的IT从业人员还没有认识到转型的必要性或对自身转型的是否成功没有太大的把握。在笔者所接触的IT从业人员中,持此种观点的人非常多。
对于传统的8位机硬件工程师,他们一般都具有较深厚的硬件功底,有丰富的开发与应用经验,对微处理器的结构有比较深入的了解,同时也具有相当的底层软件开发技能,他们的这些优势,在32位高端嵌入式系统的设计与开发中也是必须的,因此,对于他们来说,转型所面临的问题,从很大程度上讲还不是技术层面上的,而是他们对嵌入式技术发展趋势的认识问题。有相当一部分工程师并不认为在嵌入式系统的设计中,推广使用32位高性能嵌入式微处理器是必要的,甚至在一些比较复杂的应用中,还坚持使用8位机完成,一片不行用两片,两片不行用四片…,导致在以往的嵌入式设备中,复杂的多机系统比比皆是,这样的系统,无论是从软、硬件开发的复杂度、可靠性,还是系统的性价比方面考虑,都是不尽如人意的。还有一部分工程师也尝试将32位高性能嵌入式微处理器应用到自己的设计中,但由于对嵌入式操作系统及应用软件的开发过程了解得不够深入,不太愿意使用嵌入式操作系统,软件的开发仍然采用传统的8位机开发模式,显然,这样的开发模式不但不利于实现复杂的应用功能,同时也没有充分发挥32位高性能嵌入式微处理器的固有优点,因此,对于传统的8位机硬件工程师来说,设计方式的转型,从很大程度上是思想的转型,而跟踪嵌入式技术的最新发展方向,及时更新自身的知识结构,并不需要花太大的代价。
而对于传统的软件设计人员来说,他们一般都具有比较深厚的应用程序开发能力,对软件开发流程、软件质量保证等,也有较深入的了解,但他们对系统底层硬件结构的认识就相对欠缺,同时,随着高级应用开发工具的不断发展,他们几乎已经完全不关心系统的硬件结构了。然而,众所周知嵌入式系统是一个软、硬件结合非常紧密的应用领域,因此,他们对嵌入式应用系统的软件开发有一种排斥的心态,对自身是否能进行这方面的工作持怀疑态度。但由于目前基于32位高性能微处理器的嵌入式系统无论是从运算能力、还是存储能力,都足以支持一个复杂现代操作系统的运行,正是操作系统的引入,使得嵌入式系统的应用程序开发与通用计算机平台的程序开发有很大的相似之处,也给广大的传统的软件设计人员提供了新的舞台和发展机遇。但是,嵌入式应用的开发又不完全等同于纯粹应用软件的开发,需要和底层硬件联系,因此,要求软件开发人员必须具备一定的硬件知识,对硬件系统的工作原理有大致的了解。以目前广泛使用的嵌入式操作系统Linux为例,嵌入式Linux的内核与运行于通用计算机平台的Linux具有完全一致的内核版本,运行于通用平台Linux上的应用程序,只需要修改与硬件相关的代码,就可以直接移植到嵌入式系统中运行。
3、共同努力,促进我国嵌入式应用水平提高
笔者多年来一直从事嵌入式系统的教学与研究工作,也经历了一个对嵌入式系统的软、硬件开发从8位系统到32位系统的认识与转型过程,在今后相当长的一段时间内,我国的高端嵌入式应用人才还会比较缺乏,因此,如何让目前的一部分IT从业人员、特别是软件开发人员向嵌入式应用领域转型,具有重大的意义。
让我们共同努力,促进我国嵌入式应用与开发水平的提高。