Boa Web服务器在S3C2440开发板上移植

发布者:DazzlingSmile最新更新时间:2024-06-13 来源: elecfans关键字:Boa  Web服务器  S3C2440  移植 手机看文章 扫描二维码
随时随地手机看文章

前面已经在PC机上完成了boa服务器的移植工作,《Boa Web服务器在PC上移植 》见http://www.linuxidc.com/Linux/2011-10/44729.htm, 下面介绍一下在S3C2440硬件平台上如何完成相应工作,两者大同小异,细节上稍有不同,不同之处我用紫色标注了出来

一、配置编译boa

1. #tar zxvf boa-0.94.13.tar.gz

2. #mv boa-0.94.13 boa_arm

3. #cd boa_arm/src

4.boa.conf生效目录设置

  boa启动过程中需要读取一个配置文件:boa.conf,它的路径由以下文件决定

  第30行 #define SERVER_ROOT '/etc/boa',默认为/etc/boa文件夹

  我们为了统一路径起见,改为:'/usr/boa',接下来所有跟boa有关的文件我们都放在/usr/boa下

5.修改src/boa.c


 注释掉下面语句:

    if (setuid(0) !=-1)

    {

     DIE(”icky Linux kernel bug!”);

  }

  即修改为:

  #if 0

   if(setuid(0) != -1)

    {

       DIE(”icky Linux kernel bug!”);

     }

  #endif

否则运行boa时会提示

boa.c:226 - icky Linux kernel bug!: No suchfile or directory错误

6. #./configure


7.修改交叉编译器

修改Makefile文件:

   将:

      CC = gcc

      CPP = gcc -E 

   该为:

      CC = arm-linux-gcc

      CPP = arm-linux-gcc -E

8. make

    在当前目录下生成一个boa的可执行程序,./boa运行即可,ps能看到boa的进程即说明boa正常工作.

    注:有些编译器会提示以下错误,按相应方法解决即可.

    util.c: 100: 1: pasting “t” and “->”does not give a valid preprocessing token make: [util.o] Error1

    解决方法:

    方法>. 修改compat.h中的

      #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

    为:

      #define TIMEZONE_OFFSET(foo)foo->tm_gmtoff


二> 修改配置文件boa.conf

1.建立/usr/boa目录, 并复制boa.conf到/usr/boa目录下,并按照以下步骤进行修改。

  #mkdir /usr/boa

  #cp boa.conf/usr/boa

2.访问端口号设置

大概25左右:Port 80,可以设定我们访问网页时的端口号默认为80—访问时无需指定

假如改变了此端口号为8080,必须以下列格式访问: http://192.168.1.3:8080

一般在同一个电脑上运行多个boa服务器时可采用此方法

我们这里保持默认即可

3. 修改访问权限:

   修改User nobody 为 user 0

   修改Group nogroup 为 group 0

4. 设定日志目录:boa日志有两部分,Errorlog  和 AccessLog

   默认为/var/log/boa/error_log和/var/log/boa/access_log两个文件。

   所以我们统一修改为:

   ErrorLog /usr/boa/error_log

   AccessLog /usr/boa/access_log

(注意:这里/home/boa目录必须为可写,否则会出项错误:log.c:73 – Unable to dup2 the error log: Bad file r.)

 5. 设置html文件目录: 

默认为:DocumentRoot /var/www

我们统一修改为:

DocumentRoot /usr/boa/www

 6. 设置默认首页: DirectoryIndex index.html

这是访问网页时若不指定访问的网页名称,服务器默认返回的网页,我们不做修改

 7. 设置cgi脚本目录:  将

          ScriptAlias /cgi-bin/ /usr/lib/cgi-bin 

    修改为

          ScriptAlias /cgi-bin/ /usr/boa/cgi-bin

         注:boa提供cgi编程接口,使得网页具有交互能力,后面我们在做讲解.

 8. mime.types存放目录, 可在boa.conf文件中修改。

       如: MimeTypes /usr/boa/mime.types

        或者将boa.conf文件中

            MimeTypes /etc/mime.types

        修改为:

            MimeTypes /dev/null

  9.把boa.conf大约第94行的注释去掉

       ServerName www.your.org.here

  10.测试

在/usr/boa/www中随意放一个测试网页(必须包含index.html文件)

我们这里随便建一个文件取名为index.html,里面写一个:hello boa...

在IE中敲入:http://192.168.1.101/ 即可看到刚才的helloo boa

证明整个boa搭建成功.


关键字:Boa  Web服务器  S3C2440  移植 引用地址:Boa Web服务器在S3C2440开发板上移植

上一篇:FFmpeg视频编码库S3C2440移植
下一篇:OpenCV开源图像处理函数库在S3C2440移植

推荐阅读最新更新时间:2024-11-11 11:49

uCGUI 移植到S3C44B0X实验
一、实验目的 1. 初步掌握uCGUI底层硬件驱动函数; 2. 掌握将uCGUI移植到ARM S3C44BOX上的方法和步骤。 二、实验内容 移植uCGUI到ARM处理器S3C44BOX上,并编写Hello World程序,在Micetek 44B0实验平台的LCD上显示“Hello World!”字符串,在LCD显示平面坐标(20,20)处,显示一个小于10000的整数,该整数不断循环加1,每次加1后立即更新显示,从而反应出显示输出的速度。 三、预备知识 1. uCGUI的体系结构: uCGUI包含三个总的文件夹:ApplicaTIon,Config,GUI.其中: Ⅰ ApplicaTIon是应用程序的文件夹,它中间包含
[单片机]
S3C2440的中断
中断源发生中断,此信号自动被挂起PEND,自动被屏蔽 MASK S3C2440一共有60个中断源,其中有15个子中断源,它们与SUBSRCPND寄存器中的每一位相对应,其他45个中断源与SRCPND中的每一位相对应。要注意的是EINT4~7对应的是同一位SRCPND ,而EINT8~23对应的也是SRCPND 一位。 1 S3C2440的中断寄存器 中断分两大类:外部中断和内部中断。 1.1 外部中断寄存器 24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体可参考datesheet
[单片机]
<font color='red'>S3C2440</font>的中断
STM32F407(CubeMX+HAL+USB(vcp))移植rosserial和ROS通信
前言 之前尝试过移植好rosserial的stm32通过串口和ROS系统建立通信,但无奈在类似于发布IMU类似的数据量很大的消息或消息的发布频率较高时经常会出现一些问题(发布频率达不到设定要求,启动rosserial的终端会报一些警告和错误),在一般的学习中还可以,但在实际的应用中基本达不到使用要求。 写道这想说明一点:我对整个rosserial内部的通信机制也不是很了解,类似于通信速度达到多少可以满足通信速度的需求,如何测试通信速度等等问题(我也很纳闷为什么串口就会存在这些问题),如果大家有什么见解欢迎交流。 一、基于STM32CubeMX建立STM32F407USB虚拟串口基本工程 配置STM32F407单片机的时钟源
[单片机]
STM32F407(CubeMX+HAL+USB(vcp))<font color='red'>移植</font>rosserial和ROS通信
ARM-Linux s3c2440 之UART分析(一)
在分析ARM-Linux s3c2440中UART的时有必要先了解 s3c2440A中串口的硬件知识。也就是本文---- 硬件篇: S3c2440A串口提供三个独立的异步串行通信I/O端口(asynchronousserial I/O ports)。每一个串口均可以以普通中断方式或者DMA方式进行数据收发,采用系统时钟时,最大速率为115.2kbps.如果采用外部时钟(UEXTCLK),UART速度可以更快。每个串口包含有2个64-byte的FIFO缓存区用来发送或传输数据。 S3c2440A 串口具有可编程波特率,红外(IR)收发数据,1或者2 位的停止位(stop),5/6/7/8 位数据宽度和奇偶校验功能(parity c
[单片机]
ARM-Linux <font color='red'>s3c2440</font> 之UART分析(一)
S3C2440-裸机篇-01 | JZ2440开发板快速上手
为了系统的学习嵌入式系统的开发,入手了一块韦东山的JZ2440,入坑之旅开始~ 1. 开发板 开发板如名字JZ一样,精致,话不多说,上高清大图: 开发板资源如下: 2. 如何供电? JZ2440开发板供电采用5V火牛接口供电: 3.如何查看串口调试信息? 3.1.串口硬件连接及驱动安装 这里我使用的是win10系统,插上之后自动安装好了驱动,打开设备管理器查看: 3.2.使用串口终端查看串口输出的信息 在windows上可以使用xshell或者putty,这里我使用的是xshell: 在Linux系统下可以使用minicom或putty查看,参考我的另一篇博客: 【嵌入式Linux】Linu
[单片机]
S3C2440-裸机篇-01 | JZ2440开发板快速上手
S3C2440触摸屏控制总结
触摸屏控制原理,其实与ADC读取一个滑动变阻器中间触点电压的原理一样。只不过,读取触摸屏的X、Y方向上的电压需要两次,而且需要设置其工作模式以实现一个ADC读取两个通道的电压。 S3C2440的ADC控制是很简单的,与普通单片机控制ADC的方法没有多大区别。大概的操作步骤都是如下所示。 (1)设置控制寄存器ADCCON (2)启动ADC转换 (3)等待转换结束 (4)读取转换结果 但是,S3C2440的触摸屏控制有什么工作模式,如等待中断模式,分离的x/y轴坐标转换模式,自动(连续)x/y轴坐标转换模式,普通转换模式。通过官方芯片资料理解这些模式,似乎还是一头雾水。经过测试,我对这些模式有了初步的认识。 (一) ADC&TC模式分
[单片机]
米尔基于NXP iMX.93开发板的网卡驱动移植指南
NXP i.MX93处理器有两个以太网控制器,其中eqos是TSN网络控制器。 另外一个Fec以太网外围设备使设备能够在以太网上传输和接收符合IEEE 802.3-2002标准的数据,提供了一个可配置的、灵活的外设,以满足各种应用程序和客户的需求。一般情况CPU集成MAC,PHY采用独立芯片;CPU不集成MAC,MAC和PHY采用集成芯片。MAC和PHY工作在OSI模型的数据链路层和物理层。i.MX93的MAC集成在cpu内部,所以还需要外接phy芯片。 MYD-LMX9X开发板(米尔基于NXP i.MX93开发板)外接了两个YT8531SH千兆PHY芯片,ENET1原理图如图4-7: 图4-7. ENET1原理图
[嵌入式]
米尔基于NXP iMX.93开发板的网卡驱动<font color='red'>移植</font>指南
创建并移植K10 BSP包的具体步骤和方法(三)
while((MCG_S & MCG_S_IREFST_MASK) != 0x00U) {   /* 判断FLL参考源是否为外部参考时钟 */   }   while((MCG_S & 0x0CU) != 0x08U) { //等待,直到外部参考时钟作为MCG的输出   }   /* 切换到 PBE 模式*/   OSC_CR = OSC_CR_ERCLKEN_MASK;   SIM_SOPT2 &= (uint32_t)~(uint32_t)(SIM_SOPT2_MCGCLKSEL_MASK);   MCG_C1 = (MCG_C1_CLKS(0x02) | MCG_C1_FRDIV(0x05) | MCG_C1
[模拟电子]
创建并<font color='red'>移植</font>K10 BSP包的具体步骤和方法(三)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved