GoAhead2.18移植

文件准备

  • goAhead2.18
  • ARM交叉编译器4.5.1

配置交叉编译环境

  • 切换到超级用户:sudo su
  • 解压交叉编译器,这里解压到:/opt
  • export PATH=$PATH:/opt/opt/FriendlyARM/toolschain/4.5.1/bin

配置GoAhead文件

  • 解压webs218.tar.gz后得到ws031202文件夹
  • 进入ws031202/LINUX中,修改Makefile文件:(在开头加入如下2行,将最后一行的cc改为$(CC))
CC = arm-linux-gcc
AR = arm-linux-ar

GoAhead2.18移植_第1张图片

  • 然后修改main.c文件(修改服务器文件位置,端口,注释gethosetname那部分,添加主机IP并修改显示的首页)
static char_t  *rootWeb = T("/web");  //设置网站文件夹位置
static int      port = 81;            //设置端口
/*
 *  Define the local Ip address, host name, default home page and the 
 *  root web directory.
 */

 //注释下面这段
 /* 
    if (gethostname(host, sizeof(host)) < 0) {
        error(E_L, E_LOG, T("Can't get hostname"));
        return -1;
    }
    if ((hp = gethostbyname(host)) == NULL) {
        error(E_L, E_LOG, T("Can't get host address"));
        return -1;
    }
    memcpy((char *) &intaddr, (char *) hp->h_addr_list[0],
*/
/*
 *  Set ../web as the root web. Modify this to suit your needs
 */

 //添加这句,IP地址为开发板web服务器地址
 intaddr.s_addr = inet_addr("192.168.1.230");

//修改默认主页,修改为index.html
static int websHomePageHandler(webs_t wp, char_t *urlPrefix, char_t *webDir,
    int arg, char_t *url, char_t *path, char_t *query)
{
/*
 *  If the empty or "/" URL is invoked, redirect default URLs to the home page
 */
    if (*url == '\0' || gstrcmp(url, T("/")) == 0) { websRedirect(wp, T("index.html")); return 1; } return 0; }
  • 修改ws031202中的misc.c文件(注释掉strnlen函数的声明与实现)

  • 进入ws031202/LINUX中,执行make cleanmake
    GoAhead2.18移植_第2张图片

  • 生成一个webs和libwebs.a文件

上传到开发板

  • webs文件放到开发板的/usr/sbin
  • libwebs.a文件放到开发板的/lib
  • ws031202中的web文件夹复制到main.c设定好的位置,这里是开发板的/web
  • 开发板执行webs & 启动服务器
  • 浏览器访问192.168.1.230:81
    GoAhead2.18移植_第3张图片

你可能感兴趣的:(GoAhead2.18移植)