新闻中心

EEPW首页>嵌入式系统>设计应用> 基于uClinux的网络化远程监控系统设计

基于uClinux的网络化远程监控系统设计

作者: 时间:2012-05-17 来源:网络 收藏

4 系统软件的设计

4.1操作系统的移植

由于嵌入式websever硬件资源有限,在此平台上只能运行一个小型的操作系统。考虑到硬件的特点和对系统的功能要求等因素,我们选择了一款目前比较成熟的操作系统,并在此基础上实现了嵌入式webserver。从标准的Linux内核派生而来,通过对内存管理和进程管理等相关方面进行改写,满足无MMU处理器的开发要求。它继承了Linux稳定而优良的性能,同时通过个性化的内核定制,能够更好的满足嵌入式应用的多样化需要,提供丰富的应用软件支持。

为了使uClinux能运行于硬件平台,必须对uClinux进行移植。uClinux的移植可以修改内核中相关文件来实现。要修改的文件很多,不能一一介绍,主要有以下几处: (1)linux/arch/mach-S3C44B0X目录下处理器结构的,如:arch.c、irq.c等。arch.c指定了系统启动时用到的地址,按照硬件设计的不同,地址将有所不同;irq.c是与中断处理相关的程序。由于linux所支持体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写,在这里可以从mach-S3C4510目录下的文件修改得到。(2)include/asm-armnommu /arch-S3C44B0X下相关文件,如:dma.h、hardware.h、irq.h、system.h、time.h等。dma.h这条文件定义了DMA通道,以及DMA可以使用的内存空间。hardware.h件定义了内存地址和10地址,根据设计的硬件电路不同而不同。irq.h中定义了 fixup_irq()、irq_init_irq()等函数。system.h在该文件中需要定义两个函数:arch-idle()和arch- reset()。time.h实现了定时器中断处理s3c44b0x_timer_interrupt()和相关函数。(3)各级相关makefile。在交叉编译环境下编译内核,当编译结束时会生成内核的镜像文件image.rom,将其和bootloader一起烧写在板子的Flash中,重新加电通过串口可以观测到内核的启动信息,证明系统移植成功。

4.2 守护进程的实现

uClinux移植完成后就可以在此平台上进行应用程序开发了。系统开发的主要功能要求是使系统响应远程客户机的请求,完成特定的操作,同时能够自动的将本地的监测数据传送到远程客户机上。根据这一要求,必须对在服务器上实现一个守护进程。该程序在uClinux下用C语言编写,当uClinux操作系统启动后会自动运行,流程图如图3所示。

图 3

4.3 嵌入式Webserver的实现

考虑到硬件资源的限制,这里我们选择uClinux下的boa服务器。Boa是一款单任务的HTTP服务器,它通过建立HTTP请求列表来处理多路连接请求,而且它只为CGI程序创建新的进程,这样就节省了大量的系统资源, 因此,Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中具有很高的应用价值。要在uClinux上运行boa需要对uClinux进行修改, 在user/Makefile,加入dir_$(CONFIG_USER_BOA_SRC_BOA) += boa;在config/config.in中加入

comment 'Network Applications'

bool 'boa' CONFIG_USER_BOA_SRC_BOA

在uClinux-dist/vendors/Samsung/44b0/rc中加入一行ifconfig eth0 202.117.0.2 up,再增加一行脚本命令boa ,把Default.html定义为远程客户浏览的控制页面,放在/uClinux-dist/romfs下面[3]。最后,在进行内核配置时make Menuconfig时选中boa ,重新编译内核,将最终生成的文件烧写进Flash中即可。

4.4 客户端软件实现

用户端使用了Java语言编写的应用程序浏览该嵌入式Webserver上的html信息,并完成数据处理和相应的控制功能。主要包括:产生发送至Webserver的指令流,显示从Webserver返回的数据;当命令执行过程中所要执行的信息的提示;对返回数据的简单处理等等。

5 结束语

本文作者创新点:本文克服单片机在组建大型网络方面的局限,提出了基于uClinux的网络化系统。该系统充分利用以太网网络的诸多优点以及网络在工业控制方面的广泛应用, 实现了两种网络的无缝互连, 并在这种连接的基础上实现对机电设备的远程集中监测和控制。该监控系统具体积小、性能可靠、组网方便灵活等优点, 它能够大幅提高企业的自动化和信息化水平,有着广阔的应用前景。

参考文献

[1] 刘峥嵘等.嵌入式linux应用开发详解.北京:机械工业出版社,2005

[2] 毛德操 胡希明.linux内核源代码情景分析.杭州:浙江大学出版社,2001

[3] 黄志强等.嵌入式家庭系统设计.微计算机信息 2005,21(3):91-92

[4] 邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.

[5] www.uclinux.org

[6] SAMSUNG公司.S3C44BOXdatasheet.pdf

[7] CAN.Controller Area Network CAN,an Invehicle Serial Communication Protocol[Z].SAE Handbook 1992,SAE Press,1990.

[8] Kurt Wall等,张辉译.GNU/Linux编程指南(第二版)[M].清华大学出版社,2002


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭