基于ARM的实时测控系统开发平台

时间:2022-05-14 17:57:33 其他范文 收藏本文 下载本文

基于ARM的实时测控系统开发平台(推荐6篇)由网友“李秀娜”投稿提供,下面是小编为大家准备的基于ARM的实时测控系统开发平台,欢迎阅读借鉴。

基于ARM的实时测控系统开发平台

篇1:基于ARM的实时测控系统开发平台

基于ARM的实时测控系统开发平台

摘要:基于ARM的实时测控系统开发平台,是将高性能、低功耗32bit RISC结构的ARM内核处理器与开放源码的实时嵌入式多任务操作系统ìC/OS-Ⅱ相结合,并通过Interniche公司的嵌入式TCP/IP协议栈为平台添加网络传输功能,构建一个新型的实时测控系统开发平台。为开发各种智能化、小型化现代测控系统提供可重用、高性能、图形化、网络化软硬件基础平台和高效的开发模式。充分利用高级语言的优势在多任务操作系统的基础上,为平台添加友好的人机交互方式、图形化界面、网络、各种通信接口驱动,使其平台具备现代嵌入式系统的特征。

关键词:实时测控系统 ARM ìC/OS-II 嵌入式实时操作系统 嵌入式TCP/IP协议栈 JTAG在线调试 集成开发环境

国内测控系统开发大多是几个人以小组的形式根据不同的项目组织在一起,由于缺乏一个稳定工作的硬件基础,整个开发工作的重点大都放在调试硬件故障上。首先,所有项目的开发几乎全部使用汇编语言,严重影响了程序的可读性和可移植性,更换不同的处理器就意味着一切从头开始,就连使用相同处理器的不同项目组之间的程序重用也很困难;而对于嵌入式应用系统应着重解决的实际问题往往无暇顾及,非常不利于我国嵌入式应用水平的提高。其次,测控系统通信接口种类比较少, 多为传统的RS232、RS485接口,数据交换速度慢,已经不能满足日益增长的数据传输需求。另外,传统的8位单片机已经越来越不能适应日渐复杂的应用需求;友好的交互界面、网络互连功能、智能化的软件、实时的数据处理几乎成了现代实时测控系统的共同需求。

我们开发了基于ARM内核处理器的NetCARM7开发板,通过在嵌入式实时多任务操作系统ìC/OS-Ⅱ上加入Interniche公司的嵌入式TCP/IP协议栈实现了一个网络化、智能化、高性能的现代实时测控系统开发平台。此外,通过JTAG在线调试工具BDI RDI for ARM和集成开发环境IAR EW的结合,大大提高了程序调试的效率。

1平台设计

ARM内核处理器具有高性能、低功耗、低成本、低开发难度等一系列优点,是测控系统由8位机升级到32位机的理想选择。此外,ARM7、ARM9、ARM10、XScale的指令兼容,已有的软件资源和开发经验不会由于升级到更高性能的处理器而受到巨大的损失。

(1)平台的硬件基础

我们开发了NetCARM7开发板(处理器为Atmel公司的ARM7TDMI内核的AT91M40800,主频可达40 MHz)作为中低端实时测控系统开发平台的硬件基础。AT91M40800性能已经可以满足一般测控系统的各种需求,功能简单易用,双面板就可以形成稳定硬件设计,大大降低了开发成本。板上将处理器的所有引脚引出,可以根据实际的项目需求灵活地扩展出新的应用;集成了多达2 MB的 SRAM,保证用户代码可以获得最高的性能。1 MB Flash ROM用来满足绝大多数项目的需求。板上预留了JTAG端口,通过Abatron公司的BDI在线仿真器和IAR公司的集成开发环境Embeded Workbench for ARM 可以实现各种程序的在线调试。板上提供了2个串口,还可以将处理器的UART配置成SPI,除了完成通信功能以外,还可以很容易地连接A/D变换器,满足测控系统的需求。板上还扩展了10 M以太网接口。在网络控制器方面,选用了低成本符合NE2000标准的RTL8019,为平台提供了网络化的硬件基础。此外,板上还集成了液晶及行列式键盘接口,可以很方便地为嵌入式应用系统提供友好的用户交互方式。硬件平台如图1所示。

(2)开放源码的嵌入式多任务操作系统

测控系统所要完成的工作越来越复杂,程序越来越庞大,需要管理的外设越来越多,只有拥有嵌入式多任务操作系统,拥有稳定工作的硬件基础,开发工作重点才能由原来硬件的调试、软件的' DEBUG转变为对于实际应用系统的性能的提高、智能化软件的编写。此外,只有在一个完整的、具有统一编程规范的操作系统基础上,使用高级语言开发出的应用程序,才可能具有良好的可移植性,才可能被重复利用。嵌入式多任务操作系统是实现现代实时测控系统开发平台的唯一途径。操作系统与模块化硬件设计结合起来,共同构成一个可以重复利用的软硬件数字系统平台,除了可以最大限度地提高开发的效率、减少资源的浪费外,还可以通过长期对于该平台的研究,逐步优化平台软硬件资源,提高其性能,并满足日益复杂的应用需求。

目前大多商用嵌入式操作系统出于商业利益的考虑,除了使用该操作系统的每件产品要收取版税以外,要么只提供操作系统核心部分二进制文件,要么对源代码的收费十分昂贵,对于此类操作系统的使用者来讲,几乎无法拿到操作系统的源代码。这样,一方面产品的进一步发展受制于人;另一方面对于嵌入式应用系统容易出现隐患,无法从根本上避?quot;后门“。只有对开放源代码的操作系统进行不断的理解、改造、优化,才有利于我国嵌入式开发水平的稳步提高。

对于小型实时测控系统来说,源代码公开的、具有很好可移植性的、可固化可裁剪的、高稳定性与可靠性、抢占式多任务的ìC/OS-Ⅱ非常适合!代码简洁的ìC/OS-Ⅱ已经应用于照像机业、医疗仪器、音响设备、发动机控制、网络接入设备、高速公路电话系统、ATM机、工业机器人等嵌入式实时系统。

(3)网络化

TCP/IP协议栈使得嵌入式系统可以通过Internet将通信距离无限扩展。10M以太网使得大量数据的快速传输成为可能。这样,除了可以充分利用PC机上各种资源,完成数据的存储、分析、统计工作外,还可以实现测控系统间的数据交换,对于智能化、模块化的嵌入式设备集群的实现提供了另一种途径。PPP协议,可以通过调制解调器实现远程的数据交换、状态控制等功能,为嵌入式系统提供了更灵活的控制、监测方式。

我们选用了Interniche公司(www.iniche.com)开放源码的嵌入式TCP/IP协议栈。Internic

he使我们很容易在ìC/OS-Ⅱ的调度下为开发平台增加网络通信和网络管理等功能。由于它是专门为嵌入式系统而设计的,占用的系统资源很小。Interniche协议全部用标准C语言。它除了可以运行在各种RTOS下,如ìC/OS、VRTX、CMX、Threadx等,还可以在没有RTOS的环境下独立运行。此外,Interniche还在ìC/OS-Ⅱ的基础上专门为其嵌入式TCP/IP协议栈编写了自己的嵌入式实时多任务操作系统:ChronOS。ChronOS除了保持对已经广泛使用的ìC/OS-Ⅱ的兼容性以外,还使嵌入式TCP/IP协议栈与RTOS更加紧密地结合在一起,来满足各种现代应用对RTOS和嵌入式TCP/IP协议相结合的迫切需求。

常用的Interniche包括:

① 核心协议。

◇ NicheStackTM--InternicheTCP协议包含TCP、UDP、IP、TFTP、DHCP Client、ICMP、ARP、SLIP、BootTP、DNS Client。

◇ Niche ToolTM--菜单驱动的协议调试和测试工具(包含在NicheStack和Nichelite中)。

◇ NicheLiteTM--Interniche微型化的TCP/IP协议,全部代码在12KB以内;它包含全部的 NichestackTM所有的协议和1个最少化的Socket API,易于移植到从8位到32位CPU上。

可选择应用模块: PPP、Multilink PPP、PPPoE、Telnet(Server&Client)、FTP(Server&Client)、IP Multicast、NichePOP3。它使TCP/IP上的附加模块增加了POP3 Email服务器收邮件功能。

② 基于WEB管理和配置协议。

◇ WebportTM--嵌入式Web服务器,让最终用户通过WWW浏览器配置和监控嵌入式设备而避免去编写专用的GUI界面。这些界面多数是与主机OS相关的(如Win98),而且需要目标环炒罅康淖试矗?缥募?低场?br> ◇ Email Alerte--为嵌入式系统增加预告和报警功能。它允许用户向本地或远程的Email地址发出预先设置好的信息,比如某个条件下的报警信息。

(本网网收集整理)

2 开发平台的具体实现

(1)开发测试板的硬件测试

完成NetCARM7设计、板焊接以后,使用Abatron公司 (www.abatron.ch) JTAG仿真器BDI2000,通过编写BDI配置文件对NetCARM7板进行初始化,初步验证板上CPU工作是否正常,检查SRAM、Flash ROM是否可以正常读/写。

(2)BDI2000结合IAR EW的软件测试

在板上存储器正常工作的基础上,使用IAR公司 (www.iar.com) 的集成开发环境Embedded Workbench编写出简单的测试程序,其中包括汇编语言、C语言。只要在EW中利用它提供的嵌入式C/C++优化编译器、汇编器、连接定位器,就可以生成目标机的可执行程序;利用EW的C-SPY调试器中支持的RDI接口,就可以和BDI2000建立连接,直接将编写的代码下载到板上在线仿真。由于BDI2000仿真器是通过10M以太网连接计算机,并且通过JTAG接口与目标机相连,BDI2000与目标机的通信速率可达16Mb/s,程序下载速率可达320 KB/s,因此可以大大提高平台软件开发的效率。

在初步的测试程序编写完成以后,逐步对板上的其它外设和通信端口进行测试。

(3)串口监控程序

NetCARM7上的串口除了可以提供少量数据传送和控制信息的输入/输出以外,为了方便平台的软件维护,我们还开发了一个基于板上串口的监控程序,经RS232接口就可将PC与NetCARM7相连,完成以下功能:① 显示处理器各状态下寄存器的值;② 修改指定地址的SRAM、FlashROM中的内容;③ 查看指定地址的存储器中的内容;④ 将用户编写的代码下载到NetCARM7的指定地址的SRAM、Flash ROM中;⑤ 从指定地址开始执行用户代码;⑥ 通过设置跳线,选择从用户放在FlashROM中的代码直接启动(上电后直接运行用户的应用程序);⑦ 支持用户设置的软件中断,在中断以后可以使用①、②、③项功能,用以方便用户调试自己的代码。这样,在平台用于实际的测控系统产品以后,在仪器工作现场只需改变跳线就可以使板上的监控程序工作,通过串口升级整个系统软件,也包括监控程序本身,在没有JTAG调试工具的时候,方便地对可能出现的比较简单的问题进行修复。

(4)ìC/OS-Ⅱ的移植

对ìC/OS-Ⅱ的移植在BDI2000和IAR EW的帮助下变得非常简单。在完成CPU的初始化以后,首先对时钟节拍进行设置(10~100Hz)。对AT91M40800只需编写相应的定时器中断处理程序,在程序中调用操作系统的OSTimeTick,并在其AIC(Advanced Interrupt Controller )中设置定时器的优先级别,并将定时器中断处理程序的地址放到相应的中断向量表中即可。使定时器产生中断,必须在开始多任务调度后,即在第一个任务中使能定时器。其次,对ìC/OS-Ⅱ移植主要集中在includes.h、OS_CPU_A.S、OS_CPU_C.C等CPU相关文件的移植,上层任务调度部分不需要

任何修改。对于多任务操作系统,只需将复杂的应用分成简单的、相互联系的任务,再把各个不同优先级的任务交给操作系统去管理就可以了。

(5)Interniche嵌入式协议栈的移植

BDI2000结合IAR EW在线调试对于驱动程序的编写的帮助作用更加明显。对于同样具有良好可移植特性的Interniche协议栈,只需要根据以太网控制器RTL8019手册上的详尽描述,编写出发送包、接收包的函数,以及用于以太网控制器的外部中断处理程序就可以完成对Interniche的网络部分的移植。由于Interniche协议栈也是可以获得源码的,所以对于任何网络控制器都可以通过不断的调试最终完成自己的驱动程序。此外,为了方便调试,使Niche ToolTM工作,还应该完成对Interniche中向串口收发字符putchar; getch()的移植,就可以在PC端使用超级终端经过串口与NetCARM7上的Interniche 基于命令行交互了。Interniche的各种协议簇可以根据需要由ìC/OS-Ⅱ调度的状态查询任务。这样ìC/OS-Ⅱ就和Interniche一起构成了现代实时测控系统开发平台的软件核心。

3 开发平台灵活的网络应用

(1)图形化操作界面

图形化操作界面是基于Interniche 的Webserver,通过WWW浏览器实现的。

利用Interniche提供的WebportTM,让最终用户通过局域网或广域网访问嵌入式测控系统,在WWW浏览器中设置测控设备工作参数,监控其运行状态及察看测量结果,而避免为嵌入式测控系统专门去编写专用的GUI交互界面。在不同的仪器设备中的界面只需编写不同的HTML页面,结合CGI技术就可以完成各种灵活、友好的交互功能了。这些界面只需要目标机提供存储空间就可以了。

(2)真正的远程控制

利用Interniche提供的PPP拨号上网,使用Email Alerte为嵌入式测控系统增加预告和报警功能,测控设备就可以向远程的Email地址发出预先设置好的信息,通知测控设备的工作情况,实现嵌入式测控设备真正的”无人值守"远程控制。

篇2:基于ARM的实时测控系统开发平台

基于ARM的实时测控系统开发平台

摘要:基于ARM的实时测控系统开发平台,是将高性能、低功耗32bit RISC结构的ARM内核处理器与开放源码的实时嵌入式多任务操作系统ìC/OS-Ⅱ相结合,并通过Interniche公司的嵌入式TCP/IP协议栈为平台添加网络传输功能,构建一个新型的实时测控系统开发平台。为开发各种智能化、小型化现代测控系统提供可重用、高性能、图形化、网络化软硬件基础平台和高效的开发模式。充分利用高级语言的优势在多任务操作系统的基础上,为平台添加友好的人机交互方式、图形化界面、网络、各种通信接口驱动,使其平台具备现代嵌入式系统的特征。

关键词:实时测控系统 ARM ìC/OS-II 嵌入式实时操作系统 嵌入式TCP/IP协议栈 JTAG在线调试 集成开发环境

国内测控系统开发大多是几个人以小组的形式根据不同的项目组织在一起,由于缺乏一个稳定工作的硬件基础,整个开发工作的重点大都放在调试硬件故障上。首先,所有项目的开发几乎全部使用汇编语言,严重影响了程序的可读性和可移植性,更换不同的处理器就意味着一切从头开始,就连使用相同处理器的不同项目组之间的程序重用也很困难;而对于嵌入式应用系统应着重解决的实际问题往往无暇顾及,非常不利于我国嵌入式应用水平的提高。其次,测控系统通信接口种类比较少, 多为传统的RS232、RS485接口,数据交换速度慢,已经不能满足日益增长的数据传输需求。另外,传统的8位单片机已经越来越不能适应日渐复杂的应用需求;友好的交互界面、网络互连功能、智能化的软件、实时的数据处理几乎成了现代实时测控系统的共同需求。

我们开发了基于ARM内核处理器的NetCARM7开发板,通过在嵌入式实时多任务操作系统ìC/OS-Ⅱ上加入Interniche公司的`嵌入式TCP/IP协议栈实现了一个网络化、智能化、高性能的现代实时测控系统开发平台。此外,通过JTAG在线调试工具BDI2000 RDI for ARM和集成开发环境IAR EW的结合,大大提高了程序调试的效率。

1平台设计

ARM内核处理器具有高性能、低功耗、低成本、低开发难度等一系列优点,是测控系统由8位机升级到32位机的理想选择。此外,ARM7、ARM9、ARM10、XScale的指令兼容,已有的软件资源和开发经验不会由于升级到更高性能的处理器而受到巨大的损失。

(1)平台的硬件基础

我们开发了NetCARM7开发板(处理器为Atmel公司的ARM7TDMI内核的AT91M40800,主频可达40 MHz)作为中低端实时测控系统开发平台的硬件基础。AT91M40800性能已经可以满足一般测控系统的各种需求,功能简单易用,双面板就可以形成稳定硬件设计,大大降低了开发成本。板上将处理器的所有引脚引出,可以根据实际的项目需求灵活地扩展出新的应用;集成了多达2 MB的 SRAM,保证用户代码可以获得最高的性能。1 MB Flash ROM用来满足绝大多数项目的需求。板上预留了JTAG端口,通过Abatron公司的BDI在线仿真器和IAR公司的集成开发环境Embeded Workbench for ARM 可以实现各种程序的在线

[1] [2] [3] [4] [5]

篇3:燃油流量标准装置测控系统开发

燃油流量标准装置测控系统开发

利用PLC、Pc和单片机开发的'燃油流量标准装置测控系统,最大限度地挖掘了标准装置检定校准燃油流量传感器的能力,保障了航空发动机试验数据准确可靠,在实际使用中取得了很好的效果.

作 者:朴成杰 杨广 何乃库 高辉国 PIAO Cheng-jie YANG Guang HE Nai-ku GAO Hui-guo  作者单位:沈阳发动机设计研究所,沈阳,110015 刊 名:航空发动机 英文刊名:AEROENGINE 年,卷(期): 35(3) 分类号:V2 关键词:燃油流量标准装置   智能分布式系统   测控系统   PID调节   双时间法   相位差法  

篇4:基于虚拟仪器技术的PDE测控系统开发

基于虚拟仪器技术的PDE测控系统开发

针对脉冲爆震发动机试验模型的多通道高速采集和实时控制的要求,基于虚拟仪器技术设计并实现了该发动机的实时测控系统,介绍了系统的软硬件体系结构以及抗干扰、多线程编程和基于寄存器级的`板卡控制技术等关键技术.实际应用表明,该系统实时性强、可靠性高,能满足试验模型对高速采集和控制时间的要求.

作 者:陈超 何立明 罗俊 CHEN Chao HE Li-ming LUO Jun  作者单位:空军工程大学工程学院,西安,710038 刊 名:计算机工程  ISTIC PKU英文刊名:COMPUTER ENGINEERING 年,卷(期): 33(19) 分类号:V231.92 关键词:脉冲爆震发动机   高速数据采集   测控系统   虚拟仪器技术  

篇5:Linux嵌入式系统开发平台选型探讨

??1 嵌入式系统与Linux

按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体说来,它是电脑软件和硬件的综合体;是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般来说,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,终端用户很难或者不可能改变固件。而Linux也早已成为IT界家喻户晓的一个名字。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:

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

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

③ 强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。

2 嵌入式系统设计的过程

按照嵌入式系统的工程设计方法,嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。

通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。

在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。

3 硬件平台的选择

3.1 处理器的选择

嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。

调查上市的CPU供应商,有些公司如Motorola、Intel、AMD很有名气,而有一些小的公司,如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器。另外,有一些公司,如ARM、MIPS等,只设计但并不生产CPU,他们把生产权授予世界各地的半导体制造商。ARM是近年来在嵌入式系统有影响力的微处理器制造商,ARM的设计非常适用于小的电源供电系统。Apple在Newton手持计算机中使用ARM,另外有几款数字无线电话也在使用ARM。

设计者在选择处理器时要考虑的主要因素有:

① 处理性能。一个处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。如果是面向高性能的应用设计,那么建议考虑某些新的处理器,其价格相对低廉,如IBM和Motorola Power PC。

② 技术指标。当前,许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个系统的开发费用。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如DMA控制器,内存管理器,中断控制器,串行设备、时钟等的配套。

③ 功耗。嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器,典型的特点是要求高性能、低功耗。许多CPU生产厂家已经进入了这个领域。今天,用户可以买到一颗嵌入式的微处理器,其速度像笔记本中的Pentium一样快;而它仅使用普通电池供电即可,并且价格很便宜。如果用于工业控制,则对这方面的考虑较弱。

④ 软件支持工具。仅有一个处理器,没有较好的软件开发工具的支持也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。

⑤ 是否内置调试工具。处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。

⑥ 供应商是否提供评估板。许多处理器供应商可以提供评估板来验证理论是否正确,决策是否得当。

3.2 硬件部件选择的其它因素

① 生产规模。打算做1套?多套?还是规模生产?如果生产规模比较大,可以自己设计和制备硬件,这样可以降低成本。反之,最好从第三方购买主板和I/O板卡。

② 开发的市场目标。如果想使产品尽快发售,以获得竞争力,此时要尽可能买成熟的硬件;反之,可以自己设计硬件,降低成本

③ 软件对硬件的依赖性。软件是否可以在硬件没有到位的时候并行设计或先行开发。

④ 只要可能,尽量选择使用普通的硬件。在 CPU 及架构的选择上,一个原则是:只要有可替代的方案,尽量不要选择 Linux 尚不支持的硬件平台。

4 软件平台的选择

图1所示的嵌入式软件的开发流程,主要涉及到代码编程、交叉编译、交叉连接、下载到目标板和调试等几个步骤,因此软件平台的选择也涉及到以下几个方面。

4.1 操作系统的选择

(1)操作系统选择应考虑的因素

硬件方案确定之后,操作系统的选择就相对轻松了。硬件的不同,会影响操作系统的选择。低端无MMU(Memory Management Unit,存储器管理单元)的CPU,要使用uClinux 操作系统;而相对高端的硬件,则可以用普通的嵌入式 Linux 操作系统。uClinux 和普通的 Linux 有各自的优势和缺点。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合开发项目的操作系统。经过多年的开发实践,笔者认为应该从以下几点进行考虑:

① 操作系统提供的开发工具。有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此,还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大。

② 操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。

③ 操作系统的内存要求。均衡考虑是否需要额外花钱去购买RAM或EEPROM来迎合操作系统对内存的较大要求。

④ 开发人员是否熟悉此操作系统及其提供的API。

⑤ 操作系统是否提供硬件的驱动程序,如网卡等。

⑥ 操作系统的可剪裁性。有些操作系统具有较强的可剪裁性,如嵌入式Linux、Tornado/VxWorks等等。

⑦ 操作系统的实时性能。

(2)几类嵌入式Linux系统的比较

(本网网收集整理)

嵌入式Linux系统方面的产品主要分为三类:

第一类是专门为Linux的嵌入式应用而做的。如何让Linux更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是他们的产品开发方向,如MontaVista的MontaVista Linux等。第二类是专门为Linux的实时特性设计的产品。将Linux开发成实时系统尤其是硬实时系统,应用于一些关键的控制场合(不仅仅是信息电器)。如,Fsmlabs公司开发出来的RT-Linux产品已经用在工业控制的很多方面;葡萄牙的Coimbra大学已经利用RT-Linux实现了化工生产控制厂里用来控制反应和程序控制的系统。第三类的产品是将实时性和嵌入式方案结合起来的方案。很多公司都这么做,并且提供集成化的开发方案,如Lineo、TimeSys等等。

因此选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux;同时,和选择硬件的原则一样,如果可能,尽量选择使用普通的嵌入式 Linux 系统。

4.2 编程语言的选择

编程语言的`选择主要考虑以下因素:

① 通用性。不同种类的微处理器都有自己专用的汇编语言。这就为系统开发者设置了一个巨大的障碍,使得系统编程更加困难,软件重用无法实现。而高级语言一般和具体机器的硬件结构联系较少,多数微处理器都有良好的支持,通用性较好。

② 可移植性程度。汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,移植性差;而高级语言对所有微处理器都是通用的,程序可以在不同的微处理器上运行,可移植性较好。

③ 执行效率。一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、越慢;但单纯依靠低级语言,如汇编语言来进行应用程序的开发,带来的问题是编程复杂、开发周期长。因此,存在一个开发时间和运行性能间的权衡问题。

④ 可维护性。低级语言如汇编语言,可维护性不高。高级语言程序往往是模块化设计,各个模块之间的接口是固定的。当系统出现问题时,可以很快地将问题定位到某个模块内,并尽快得到解决。另外,模块化设计也便于系统功能的扩充和升级。

几种开发语言的比较:

在嵌入式系统开发过程中使用的语言种类很多,比较广泛应用的高级语言有:Ada、C/C++、Modula-2和Java等。Ada语言定义严格,易读易懂,有较丰富的库程序支持,目前在国防、航空、航天等相关领域应用比较广泛,未来仍将在这些领域占有重要地位。C语言具有广泛的库程序支持,目前在嵌入式系统中是应用最广泛的编程语言,在将来很长一段时间内仍将在嵌入式系统应用领域占重要地位。C++是一种面向对象的编程语言,目前在嵌入式系统设计中也得到了广泛的应用,如GNU C++。Visual C++,是一种集成开发环境,支持可视化编程,广泛应用于GUI程序开发。但C与C++相比,C++的目标代码往往比较庞大和复杂,在嵌入式系统应用中应充分考虑这一因素。Modula-2定义清晰,支持丰富,具有较好的模块化结构,在教学科研方面有较广泛的应用。虽然该语言的开发应用一直比较平缓,但近两年在欧洲有所复苏。J

ava语言相对年轻,但有很强的跨平台特性,目前发展势头较为强劲。Java语言的“一次编程,到处可用”的特性,使得它在很多领域备受欢迎。随着网络技术和嵌入式技术的不断发展,Java及嵌入式Java的应用也将越来越广泛,但是Java消耗硬件资源较大。

4.3 集成开发环境考虑的因素

集成开发环境IDE(Integrated Development Environment)应考虑以下因素:

① 系统调试器的功能。系统调试特别是远程调试是一个重要的功能。

② 支持库函数。许多开发系统提供大量使用的库函数和模板代码,如大家比较熟悉的C++编译器就带有标准的模板库。它提供了一套用于定义各种有用的集装、存储、搜寻、排序对象。与选择硬件和操作系统的原则一样:除非必要,尽量采用标准的 glibc。

③ 编译器开发商是否持续升级编译器。

④ 连接程序是否支持所有的文件格式和符号格式。

4.4 硬件调试工具的选择

好的软件调试程序可以有效地发现大多数的错误,但是如果再选择一个好的硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:

① 实时在线仿真器(ICE,In-Circuit Emulator)。用户从仿真插头向ICE看,ICE应是一个可被控制的MCU。ICE是通过一根短电缆连接到目标系统上的。该电缆的一端有一个插件,插到处理器的插座上,而处理器则插到这个插件上。ICE支持常规的调试操作,如单步运行、断点、反汇编、内存检查、源程序级的调试等等。

② 逻辑分析仪。逻辑分析仪最常用于硬件调试,但也可用于软件调试。它是一种无源器件,主要用于监视系统总线的事件.

③ ROM仿真器。ROM仿真器用于插入目标上的ROM插座中的器件,用于仿真ROM芯片。可以将程序下载到ROM仿真器中,然后调试目标上的程序,就好像程序烧结在PROM中一样,从而避免了每次修改程序后直接烧结的麻烦。

④ 在线调试OCD或在线仿真(on-chip emulator)

特别的硅基材料以及定制和CPU引脚的串行连接,在这种特殊的CPU芯片上使用OCD (On-Chip Debugging),才能发挥出OCD的特点。用低端适配器就可以把OCD端口和主工作站以及前端调试软件连接起来。从OCD的基本形式看来,它的特点和单一的ROM监测器是一致的,但是不像后者那样,需要专门的程序以及额外的通信端口。

4.5 软件组件的选择

有些软件组件是免费的,有些软件组件是授权的。授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试时间短。现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发人员在选择的时候要加以权衡,确定哪种方案更好。

5 展 望

国外的开发已经如火如荼,国内的开发也不甘示弱。Linux在嵌入式系统中具有强大的生命力和利用价值,很多公司和大学都不同程度地表现出对这个方面的兴趣。有理由相信,嵌入式Linux的发展将带领我们进入嵌入式系统的新时代!

篇6:Linux嵌入式系统开发平台选型探讨

??1 嵌入式系统与Linux

按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体说来,它是电脑软件和硬件的综合体;是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般来说,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,终端用户很难或者不可能改变固件。而Linux也早已成为IT界家喻户晓的一个名字。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:

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

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

③ 强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。

2 嵌入式系统设计的过程

按照嵌入式系统的工程设计方法,嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。

通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。

在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。

3 硬件平台的选择

3.1 处理器的选择

嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。

调查上市的CPU供应商,有些公司如Motorola、Intel、AMD很有名气,而有一些小的公司,如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器。另外,有一

[1] [2] [3] [4] [5]

优化方案

单片机课程心得体会

文献测控技术与仪器专业介绍及其发展方向

测控技术与仪器光机电一体化类专业毕业生的求职简历

工业以太网控制系统论文

测控技术与仪器实习报告

检测技术及仪器简历

实习报告---测控技术与仪器

测控技术与仪器实习鉴定

大学生月实习报告

基于ARM的实时测控系统开发平台
《基于ARM的实时测控系统开发平台.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【基于ARM的实时测控系统开发平台(推荐6篇)】相关文章:

基于WSN 智能家庭温湿度监测系统设计论文2022-04-29

测控技术与仪器类专业求职简历2022-10-24

电子信息专业的就业方向2023-10-22

用Borland C++3.1实现外设与Windows应用程序实时通信2022-10-13

求职信范文测控技术与仪器2023-10-10

物业薪酬体系优化设计的思路与实现论文2023-07-26

嵌入式系统的实习报告2023-08-04

嵌入式实习总结2023-02-11

单总线协议转换器在分布式测控系统中的应用2022-11-17

航天测控系统仿真平台论文摘要2022-05-07