新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SOPC 的嵌入式Web 服务器设计与实现

基于SOPC 的嵌入式Web 服务器设计与实现

作者: 时间:2012-08-16 来源:网络 收藏

在本中uC/OS-II主要完成任务的管理与调度,在网络协议栈初始化后,使用标准套接字API创建新任务访问网络协议栈。在本中使用函数sys_thread_new()创建DHCP超时任务dhcp_timeout_task()来动态分配IP地址,创建HTTP任务http_task()管理HTTP连接并调用相关的子程序来为HTTP请求服务。这里使用的sys_thread_new()位于LwIP的操作系统封装层,实际上是调用uC/OS-II的OSTaskCteate()函数。通过创建消息邮箱、信号量任务与任务之间、任务与中断服务程序之间的同步与互斥,以保证它们协调运行。

5.2、LwIP网络协议栈的

LwIP(轻量级网络协议)是TCP/IP协议栈的一个。LwIP是一种专门针对系统应用而的网络通信协议,由于LwIP实现的关键在于削减代码大小和内存消耗,但可以完成传统的TCP/IP协议的大部分功能,通常只需要大约40K的ROM和数十K的RAM即可运行。在保持协议分层体系结构的前提下,通过采用“零拷贝”技术提高实时性。

Nios II支持LwIP使用如下的3个基本任务[2]。这些任务在程序创建时添加后连续运行:首先,被协议栈使用的主任务。这个任务用来接收包,任务模块的主函数用于等待消息邮箱。当一个新的包到来时,产生一个中断请求,中断服务程序清除IRQ并且向消息邮箱发送一个消息。其次,新的消息激活接收任务。这一设计可以使中断服务程序尽可能快的执行,从而减少系统延时的影响。最后,实时器任务在于周期性地调用各种任务所需的时间。上述这些任务将在初始化成功后自动运行。系统初始化后,进入主程序部分。主程序包括两大部分:对接收到的以太网数据帧进行解包和对欲发送的数据进行封装并发送。图4为软件框图。

图4 软件框架图

6、结语

经测试,本设计可以正常工作,达到了预期的效果。,其功能可根据需要定制,非常灵活。该不仅可以广泛应用于工业控制领域,实现小型工业监测系统网络化,具有良好的应用前景。

作者创新点:本文介绍了软核处理器的Web服务器实现方法,使设计变得灵活,操作系统的引入,满足了设计对实时性的要求。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭