ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
越来越多的嵌入式设备将添加Web浏览功能,而支持Web功能的嵌入式处理器可以简化这类设备的设计。本文分析了嵌入式Web功能的特点,并详细描述了使用软件工具开发嵌入式Web应用的设计要点。
XML(可扩展标记语言)正在迅速成为嵌入式系统与应用之间的首选接口技术。我们有许多方法可以实现带XML功能、支持Web浏览的嵌入式设备,从软件到专用硬件。最简单的方法可能是完全用外部软件执行Web处理,尽管从消耗的处理能力考虑,这种方法的成本也最高。在这种方法中,设计师有可能要利用诸如微软Windows CE等嵌入式操作系统的性能。
然而,对于资源受限的嵌入式项目,设计师将发现一种更有效的方法是直接用硬件实现Web支持功能。可供选择的解决方案包括全32位处理器+Web服务器,以及兼具低功耗和高数据吞吐量特性的混合解决方案等。
目前,大部分主要的嵌入式架构都提供Web支持,包括Z80、MIPS、ARM和X86等。由于市面上存在数千种不同的嵌入式IC,因此设计师需要进行调研:有些芯片只需要软件,而其它芯片常常需要一块外插卡来处理网络连接。当把实现Web支持功能所需的最重要的硬件元件---以太网控制器集成到芯片上时,这样的解决方案具有最低的成本。Zilog公司的eZ80 Acclaim微控制器正是这样一种方案。
eZ80 Acclaim是一款带有Web功能的微控制器,它包合一个高性能的嵌入式处理器和一个完整的软件堆栈,以创建一种完整的嵌入式连接系统。该软件堆栈支持标准TCP/IP网络协议以及以太网和串口驱动程序。
在嵌入式处理器上实现的Web支持不同于运行在PC架构上的Web服务器。标准的个人计算机和基于互联网的Web设备将Web网页存储在诸如硬盘驱动器等大容量存储设备上,与此相反,由嵌入式处理器创建的Web网页可以作为嵌入式数据元素进行访问。在存储器和处理能力两方面,嵌入式实现方案的资源都是受限的。带XML功能、支持Web的嵌入式系统必须做得比PC更单薄、更简易、更智能。
将Web支持功能纳入嵌入式应用的一个优点是,它使工程师摆除了用户界面设计的负担。这是因为用HTML/XML编写然后转换成C/C++代码的嵌入式Web网页提供了现成的用户友好界面,具备支持复杂嵌入式系统的能力。
XML为数据交换带来便利。XML针对不同系统之间的数据交换提供了一种不依赖于处理器的编码方式。XML使用规定的标识符将编码定义置于Web网页内。设计师正在为采用XML语法的不同应用环境开发不同的标识符定义集。例如,已完成的标识集包括用于电气工程、电子商务、多媒体数据和纯文档信息的词表。
我们有许多方式向其它系统来回传送XML文档。例如,它们可以作为HTTP对象传送。这意味着必须支持简单对象访问协议(SOAP)或者XML-RPC必须被集成到服务器中。
为了在嵌入式系统中包含XML和HTML支持,这要求软件工具提供特别的功能。尤其是,与嵌入式硬件密切相关的编译器-连接器必须在设计上允许XML代码嵌入到应用程序的C语言或汇编代码中。
在实际开发中,访问XML的功能是相当容易实现的:程序设计员只需在他的程序中加入一串“#include”声明即可。Zilog公司面向eZ80 Acclaim的ZDS II开发者套件正是采用这样的操作手法。许多开发者套件还包括HTML/XML网页样本,这极大地简化了任何项目。
实现过程
尽管“#include”声明简单易用,但开发者必须考虑访问嵌入式Web的其它几项软件元素。首先,在应用代码中,开发者必须包含一个调用HTTP初始化功能的命令。不过,在此过程中,最重要和最耗时的部分是要求把将被嵌入式系统用户访问的Web网页内建到Web服务器中。
在操作中,当正在执行的代码调用初始化功能时,Web网页开始在嵌入式处理器中形成。初始化功能看上去有些类似于此:http_init (http_defmethods,http_defheaders, website, port)。
在我们的例子中,与这个命令最关联的部分是“website”参数,它由用户创建,并定义了将包含在嵌入式处理器支持的站点中的Web网页。
在我们更深入地研究之前,需要重点指出Web网页分为两类:静态HTML网页和动态HTML网页。静态Web网页不会改变。许多企业Web网站基本上都是静态的,其功能主要是宣传他们的服务和产品;所有访问这些站点的用户都以相同的方式浏览网页。
与之相反,动态HTML网页会根据用户的反馈信息改变内容。搜索引擎和在线银行网站是这类网页的代表,在这些网站,查看的内容会根据用户输入的数据而改变。
这对于嵌入式Web服务器的意义是:静态页面易于创建,它们可保存为在C语言软件程序中的一串字符。它们通常不能保存为简单的ASCII文本文件,因为纯粹的嵌入式设备没有文件系统。另一方面,动态页面不能作为文件保存,因为它们的内容是变化的。它们必须实时生成。
这意味着动态文档必须由一系列功能或参数拼凑而成。在生成Web网页的过程中,系统需要执行一系列C函数,每个函数对应于在屏幕上显示的一部分Web网页。
然后,生成的XML/HTML页面将传送到浏览器。正是通过这些函数调用,程序设计员能够使嵌入式系统完成用户要求它执行的工作,例如读取温度传感器,并生成一个向用户显示温度的页面。使用这些函数调用,程序设计员还可以编写读取用户输入的代码,用户一般通过填写嵌入在Web浏览器中的表格来输入信息。基于在表格中的信息,程序设计员可以调节恒温器和开启发动机等。
因此,“website”参数定义了组成Web页面结构的排列。(注意,Web站点的每个网页都必须有一个“webpage”参数。)
除初始化功能以外,程序设计员还必须谨慎对待其它几个细节。例如,必须设置网络连接的时间限制,启动一些网络处理和建立shell程序(这样命令才可以来回传送)。在嵌入式Web服务器的程序中必须包括命令行。
那么,HTTP服务器是如何接收函数调用,并返回被请求的Web网页呢?与大多数网络协议一样,HTTP采用客户机-服务器模式。
HTTP客户机打开一个TCP连接,并向HTTP服务器发出一个请求。请求包含一个鉴别目标Web网页的通用资源标识符。服务器随后返回一个包含所请求资源的响应信息。
最后,程序添加最重要的元素---Web网页本身。
这种别具一格的片上Web解决方案允许建立与TCP/IP网络的通用连接,可实现容易的系统控制、简单的代码升级和更好的兼容性。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号