学习知识|如何学习嵌入式开发(11)


4.应用程序的开发
嵌入式系统的应用程序开发同在PC 机上开发应用程序的区别不是很大 。 对于Windows CE系统而言 , Microsoft已经提供了较为完善的开发工具 。 特别是.NET Compact work的使用 , 使得基于Windows CE.NETCompactwork的应用程序有了跨平台性 。 开发人员可以使用Windows 的C# 语言直接在PC 上进行应用程序的开发和模拟调试 , 也可将目标系统同PC 机相连 , 进行联机调试 。 现在有很多系统支持J2ME(JAVA的嵌入式系统版本) , 这使得JAVA 在嵌入式系统应用开发中占有较大的优势 。 另外 , 作为专业的嵌入式系统软件开发人员 , 还需要充分了解面向对象技术和设计模式等方面的知识 , 当然作为初学者可以先不深入研究这方面的内容 。
常用嵌入式系统处理器和操作系统
处理器
常用嵌入式系统处理器主要包括ARM 处理器 , Power PC 处理器 , 基于MIPS 内核的嵌入式处理器 , 软核处理器(如Altera 的Nios和Xilinx的MicroBlaze等)和DSP(数字信号处理器)等 。
ARM 处理器的主要特点是具有较高的性能功耗比 。 ARM处理器被广泛的应用在手机 , PDA等领域 , 其中较为著名的有Intel 公司生产的基于ARM 内核的XScale系列处理器 。 由于所有公司生产的基于ARM内核的处理器具有相同的编程模型 , 在手持和电池供电的系统中 , 基于ARM的嵌入式系统处理器往往被首先选用 。 PowerPC(简称PPC)处理器具有较强的运算性能和数据吞吐能力 , 在网络和数据通信领域基于PPC的嵌入式系统处理器有着广泛的应用 。 其中Motorola公司生产的MPC860/MPC8260被大量地应用在嵌入式网络产品中 。 MIPS 处理器的特点表现在十分强大的处理能力上 。 作为高性能处理器 , MIPS处理器适用于网络、企业及高级消费类电子应用 , 特别是在机顶盒系统中 , MIPS处理器具有较高的市场占有率 。 随着可编程器件的规模不断扩大 , 使得人们能够根据需要定制处理器 , 并方便的将针对某种特殊应用定制的处理器方便的在可编程器件内部实现 。 除了处理器外 , 计算机系统还需要许多其他构成部分 , 比如在多通道媒体数据处理系统中 , 经常需要使用可编程器件来实现高速的数据处理功能 , 使用软核DSP来实现复杂的数字信号处理算法 , 同时还需要处理器进行事务处理 , 软核处理器将可编程器件 , DSP同处理器结合在一起 , 为系统级设计提供了极大的灵活性 。 DSP(数字信号处理器)有别于通用处理器 , 集中表现在其强大的数字信号处理能力上 。 在DSP 内部提供了硬件乘累加器 , 处理器在设计上对于特殊的寻址方式做了优化 , 一些DSP 还支持零耗循环(Zero OverheadLoop) 。 为了方便嵌入式系统设计 , 主流DSP 一般也都提供了丰富的外设 。 特别值得一提的是ADI 公司的Blackfin 系列DSP和TI 公司的DM64X系列DSP , 两种处理器都提供了丰富的片上外设 , 非常适用嵌入式系统应用 。
操作系统

作为Microsoft的产品 , WindowCE.NE/5.0提供了功能完备的平台开发工具Platform Builder和应用开发工具Embedded Visual C++/Visual Studio 2003 。 WindowsCE由于拥有广大使用者所熟悉的windows界面 , 系统提供了众多驱动程序 , 并且有完备的文档支持 。 对于应用开发而言 , 熟悉Windows系统开发的程序员很容易转到WindowsCE 应用程序的开发 。 Windows CE将会是一个非常有前途的嵌入式操作系统 。
VxWorks
VxWorks是由Windriver(风河)公司出品的嵌入式实时操作系统 , 大名鼎鼎的火星登陆车就是使用了VxWorks 。 Windriver为VxWorks提供了集成开发环境tornado 。
υC/OSII
υC/OS是由Jean Labrosse设计编写的开放源代码的嵌入式实时操作系统 , 笔者最早接触的嵌入式操作系统就是它 。 阅读并深入理解υC/OS的源代码对于理解实时系统是大有裨益的 。

推荐阅读