在VxWorks的target上架设WIND Web Server
在VxWorks的target上架设WIND Web Server 如何在Target上架设WIND Web Server?1. WIND Web Server 给我们带来的好处将带有WIND Web Server的VxWorks内核载入到嵌入设备中后,我们就可以让任何一台安装了标准Web浏览器的机器作为该嵌入设备的控制维护终端。
硬盘文件系统对WIND Web Server并不是必需的,我们可以在嵌入设备中建立内存映象文件存储静态网页,WIND Web Server 也支持Server Side Includes.
2. 步骤1. 创建必须的HTML文件;
2. 设置c:\tornado2\host\x86-win32\bin为系统路径,重新启动计算机。控制面板->系统->高级->环境变量,在用户变量的path和系统变量的Path的值的后面添加“;c:\tornado2\host\x86-win32\bin”;
3. 运行命令pagepack -r -s www -d / -o httpMemFs转换HTML文件为C文件;
说明:
-r 转换 –s所指定的HTML文件目录的子目录;
-s 指定将要转换的HTML文件目录;
-d 指定Target上的内存文件系统的根目录;
-o 指定目标文件的文件名;
执行成功后,将生成两个文件:一个C文件,一个H文件。
4. 配置WIND Web Server;
在目录C:\tornado2\target\src\http\config下修改httpconf.c,httpconf.h文件。
a) 在httpconf.h文件中注释掉/*#define INCLUDE_HTTP_LOG*/
b) 加入 #include "httpMemFs.h". httpMemFs.h为第3步生成的头文件;
c) 修改httpd函数。httpMemFsInit_在httpMemFs.h申明,在httpMemFs.c中定义;
HTTP_STATUS httpd (void)
{
if (httpInit() != HTTP_OK)
return HTTP_ERROR;
/*
* Configure directory accesses to pick up "index.htm".
*/
httpAliasConfAdd ("*/", "*/index.htm");
/*
* Configure the pagepacked content files (the HTML, images, Java,
* etc.) into the memory filesystem.
*/
httpMemFsInit_();
/* Enable filesystem RPM to access pages from some filesystem */
httpFsConfInit (HTTP_FS_CONF_MAX);
httpRpmConfAdd (HTTP_M_GET, "/", httpRpmFs);
httpFsConfAdd ( "/", "/");
/* end of user definable initialization area */
return (httpServerLoop ());
}
5. 编译连接生成httpconf.o,httpglob.o,httpmemfs.o目标文件;
a) 将httpMemFs.c和httpMemFs.h拷贝到C:\tornado2\target\src\http\config目录下;
b) 在C:\tornado2\target\src\http\config目录下运行make CPU=PENTIUM WIND_BASE=c:\tornado2 WIND_HOST_TYPE=x86-win32;
6. 编译VxWorks内核;
a) VxWorks内核中加入HTTP Server;
b) 修改编译设置;
c) 编译
7. 加入新的VxWorks内核到Target上。