显示标签为“WIZnet W7100A iMCU7100EVB HTTP 伺服器 設置”的博文。显示所有博文
显示标签为“WIZnet W7100A iMCU7100EVB HTTP 伺服器 設置”的博文。显示所有博文

2012年7月2日星期一

如何用W7100A實現HTTP伺服器(二)


大家好,前面我们为大家分享了如何用W7100A实现HTTP服务器(一),今天继续为大家分享后面一部分,希望对大家有帮助~




2.4 程序二进制固件文件生成

利用Keil uVision3程序建立在HTTP服务器应用手册中附带的Keil工程文件。如果成功建立工程,在输出窗口中将会显示如下信息。
3 成功编译信息
上面信息中的“code=28800”表示输出文件的二进制大小。因为用户将要添加二进制网页,所以这个值必须按照网页二进制的初始地址来设定。这个设置在Keil工程文件romfile.h中,由于十进制数28800用十六进制表示为0x7080,按照下面进行设置。


如果源代码被修改,输出文件的大小也会修改,因此,“FLASH_ROMFILE_START_ADDRESS”定义的大小必须在每次编译后进行修改。如果该定义已经改变,重新编译并且生成一个7100Websrver.hex文件。利用WizISP程序将该十六进制文件变成二进制文件,步骤如下所示。更多关于WizISP的详细信息,请参考‘WizISP用户指南’文档。
4 WizISP程序

2.5 组合BinRom文件

为了能够将wizweb.rom文件和7100Webserver.bin文件组合成一个文件,将这两个文件移动到allbin.bat文件和allbin.exe文件存在的文件夹下。然后运行allbin.bat文件。allbin.bat文件和allbin.exe文件都包含于HTTP服务器应用手册中的附件文件中。allbin.bat文件通过添加7100Webserver.bin终端的wizweb.rom来创建一个二进制文件。以All_XXXXXX.bin格式创建组合文件。当前的日期会显示在XXXXXX部分。将该文件烧录到WizISP程序中,然后将组合的文件写入到W7100A的代码区域中。程序的组合文件和页面将会被烧录到W7100A中。



3.HTTP服务器演示

如3.5节所述,如果成功创建HTTP服务器的二进制文件,利用WizISP将二进制文件写入到iMCU7100A开发板中。在写入完成之后,将iMCU7100EVB的bootsel引脚变为“off”并且复位开发板。在这篇文档中,使用Windows XP提供的最基本的串行终端程序--超级终端机(Hyper terminal)。在复位之后,超级终端机(Hyper terminal) 将会出现如下信息:


5 超级终端机(Hyper terminal)信息


iMCU7100EVB的IP地址可以从上面的信息检测到。运行HTTP客户端程序并且连接到开发板的IP地址。在这篇文档中,使用Windows XP提供的基本的HTTP客户端程序—IE浏览器。在输入IP后,将会出现如下的网页。


6 W7100A HTTP服务器主页面


W7100A HTTP服务器主页面最左上的“Go main” 菜单作为主页面。“Digital Output”菜单用来控制iMCU7100EVBLEDLCD。“Net Config”菜单用来修改iMCU7100EVB的网络设置。

2012年6月29日星期五

如何用W7100A實現HTTP伺服器(一)

大家好,这篇文档将介绍如何利用iMCU7100EVB实现HTTP服务器,同时也会介绍代码并且显示一个简单的demo测试。今天为大家分享第一部分,周末过后将继续为大家分享后面的部分,希望对大家有帮助~
注意: 这篇文档是基于W7100A 100引脚封装,因为W7100A 64引脚封装的芯片在GPIO引脚数目上比100引脚封装的要少,所以用GPIO口控制LED和LCD的示例可能不能正常工作。



1. HTTP服务器
HTTP是超级文本传输协议(HyperText Transfer Protocol)的简称。更多关于HTTP协议的细节,请参考下面的链接。(http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)如果使用W7100A的全硬件TCP/IP协议栈可以很容易地实现HTTP服务器。下面的图1显示了HTTP服务器和客户端之间的通信。
1 HTTP通信


HTTP服务器的通信过程大概可以分为三个步骤:
1. 连接 : W7100A指定HTTP服务器的socket,打开socket并且监听的过程。
2. 通信 :已经建立的连接。W7100A在接收到来自客户端的HTTP请求之后发送HTTP响应。
3. 关闭 : 在所有的HTTP请求/响应之后完成连接的过程。


2. HTTP服务器实现
2.1 网络设置

W7100A HTTP服务器代码中的网络设置和MAC地址都保存在W7100A255字节用户数据存储器中。如果用户想要改变网络设置或者MAC地址,运行WizISP程序,设置“Flash Operation Mode”为“Data”,然后点击Erase按钮来擦除用户数据存储器。完成之后,MAC地址和网络设置都会变成W7100A task_config.c文件下default_network()函数中的默认设置。初始化后的MAC地址和网络设置将会再次被写入到用户数据存储器。
另外一个改变网络设置的方法是连接到W7100A的HTTP服务器网页,并且使用网页配置页面。



2.2 默认主页设置
当HTTP客户端作为W7100A的IP地址被连接时,W7100A HTTP服务器代码主要是连接到‘index.html’(例如: http://192.168.1.2)。 如果用户想要改变基本的页面,需要从main.c文件下按照下面的代码来修改。

2.3 生成Romfile
示范网页必须作为一个Romfile组合在一起,并且和固件程序一起写入到W7100A的闪存中。提供的ROMFILEMaker.exe程序用来将示范网页组合到一个Romfile。可以通过WIZnet’shomepage -> download center (http://www.wiznet.co.kr/en/)来下载该程序。下图为ROMFILEMaker.exe运行的屏幕截图。
2 ROMFILEMaker程序

在W7100A代码中的区域1为types.h文件分配相关的路径。点击2区中的Add Files按钮,添加应该组合的网页。如果同时添加太多的网页,将会发生错误;因此,用户要组合很多网页,就需要重复添加步骤。此时,网页存在于相同的文件夹下。用户点击3区中的Make Image按钮,组合的文件就会被生成以4区中的名称命名的文件。由于改变4中的Rom Image文件的名称将会致使用户修改用来组合程序二进制和网页的批处理文件命令,所以不要修改该名称。