新型的微控制器指令及SOC速度不断提高,存储器空间也相应加大,已经达到甚至超过了目前的通用计算机中的微处理器,为嵌入式系统工程师采用过去一直不敢问津的C++语言创造了条件。C++语言强大的类、继承等功能更便于实现复杂的程序功能。但是C++语言为了支持复杂的语法,在代码生成效率方面不免有所下降。
C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用语言,还使得硬件开发和软件开发可以分工,
从事嵌入式软件开发不再必须精通系统硬件和相应用汇编语言指令集。
一种语言,JAVA的发展则具有戏剧。JAVA本来是为设备独立的嵌入式系统设计的、为了提高程序继承的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要比嵌入式C编译工具差10倍以上。因此EC++很可能将成为未来的主流工具。
3.源程序模拟器(Simulator)
源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和PC,通过软件手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。简单的模拟器可以通过指令解释方式逐条执行源程序,分配虚拟存储空间和外设,供程序员检查;的模拟器可以利用计算机的外部接口模拟出处理器的I/O电气信号。不同档次和功能模拟器工具价格差距巨大。
模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程序检验和测试工具。但值得注意的是,模拟器毕竟是以一种处理器模拟另一种处理器的运行,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有相当的差别。另外它无法和ICE一样,仿真嵌入式系统在应用系统中的实际执行情况。
4.实时多任务操作系统
实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。目前在中国大多数嵌入式软件开发还是基于处理器直接编写,没有采用商品化的RTOS,不能将系统软件和应用软件分开处理。RTOS是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在RTOS之上。不但如此,RTOS还是一个可靠和可信很高的实时内核,将时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配时间。
TOS是针对不同处理器优化设计的高效率实时多任务内核,商品化的RTOS可以面对几十个系列的嵌入式处理器MPU、MCU、DSP、SOC等提供类同的API接口,这是RTOS基于设备独立的应用程序开发基础。因此基于RTOS上的C语言程序具有极大的可移植。据专家测算,RTOS上跨处理器平台的程序移植只需要修改1~5%的内容。在RTOS基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,和通用的应用程序一起,可以作为产品销售,促进行业内的知识产权交流,因此RTOS又是一个软件开发平台。
Wordstar 4 Professional 5.25 inch DOS COMPLETE PACKAGE
Motherboard Sun Blade UltraSparc IIIi 210/240 375-3107
MOTOROLA VME Card MVME197DP 01-W3815B MVME197 88410 197
SBC Peak 510S 510 PICMG Peak510S Industrial Socket5
Corelis PC-1149.1/100F controller JTAG Emilator ISA A2
Macintosh Performa 5400 6400 Motherboard 820-0828-A G3
Wicat 150WS 1982 Z80 MultiBUS Memory Card TMS4164 TMM
Peak 610 Pentium Pro SBC PICMG 440FX KJ0216012G 7P610
Pentium Pro SBC PICMG IBUS I-Bus 105-00526-00 Thresher
Cleo Software 212 201 Phone 1 Inc CCITT 8bit ISA Modem
ETI-2.1 EISA Comm Card V2.3 TAXI-275 AM79169 Eliza LAN
Optical Disk Drive LF-7090 WORM Panasonic Matsushita
CWS Data Acquisition 03-907879-01 Rev1 Vintage ISa Card
LSI Logic MiniRISC BDMR400x Evaluation Board MR400x rB
Motherboard Dual Pentium Pro FIC PN-6210 Nii1.01 440FX
JUMPtec 18001-0008-26-1 ETX-P1-EG Module with 32MB RAM
TAPE DRIVE HP LT03 Fibre BRSLA-0402-DC PD078D#600 /tray
Pelco CM9700-SER SERCOM-8 Card 8-port ISA PCB9759003-F
AP5200IF Pentium SBC Corsair Flash CM2258FX PICMG PC104
Trenton PICMG SBC Slot1 20-005601-04 440LX Teknor H-04