• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

ELF 1技术贴 | 如何移植Boa 到开发板上

2024/02/04
1235
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Boa作为一款专为嵌入式系统打造的轻量级Web服务器,其核心优势在于能够在严苛的硬件条件下稳定运行,Boa出色的可定制性和扩展潜能适用于多种应用情境。当面对嵌入式装置或其他计算资源有限的平台时,部署Boa作为Web服务解决方案显得尤为适宜。

接下来,将跟各位小伙伴详细介绍一下基于ELF 1开发板移植Boa的方法。

1、Boa官网下载源码

官网网址:Boa download | SourceForge.net

下载好的Boa源码为:boa-0.94.13.tar.gz

2、将源码拷贝到虚拟机并解压

elf@ubuntu:~/work/a/boa$ tar xvf boa-0.94.13.tar.gz
3、进行交叉编译
elf@ubuntu:~/work/a/boa$ cd boa-0.94.13/src/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ ./configure --host=arm 
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ make
这时会出现报错,如下图显示:
修改src/compat.h文件中的如下位置:
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ vi compat.h
将 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改为 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
修改完成,保存退出,继续make,之后就不会报错了。
至此交叉编译Boa已经完成,接下来在开发板上进行测试。
1、开发板中建立Boa和cgi-bin目录
root@ELF1:~# cd /etc/
root@ELF1:/etc# mkdir boa
root@ELF1:/etc# mkdir -p /www/cgi-bin/
root@ELF1:/etc# mkdir group
2、将可执行应用和一些配置文件通过Scp命令拷贝到开发板中
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp boa root@192.168.2.98:/etc/boa/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp ../boa.conf root@192.168.2.98:/etc/boa/
elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp /etc/mime.types root@192.168.2.98:/etc/
3、修改boa.conf文件
root@ELF1:~# vi /etc/boa/boa.conf
需要做如下修改:
1、将Group nogroup改为Group 02、指定 log 文件的路径,把log保存到/etc/boa目录下将ErrorLog /var/log/boa/error_log 改为ErrorLog/etc/boa/error_log将AccessLog /var/log/boa/access_log 改为AccessLog/etc/boa/access_log

3、将#ServerName www.your.org.here改为ServerName www.your.org.here

4、将DocumentRoot /var/www改为DocumentRoot /www

5、将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/改为ScriptAlias /cgi-bin/ /www/cgi-bin/

4、在/www/下创建index.html
root@ELF1:/etc# vi /www/index.html
并编写加入以下内容:
<!DOCTYPE html>
<html xmlns="http://www/w3.org/1999/xhtml">
    <head>
      <meta http-equiv="Content-type" content="text/html;charset-gb2312">
      <title>Isaigu_gateway</title>
<style type="text/css">
<!--
  .STYLE1{font-size:45px}
  body{
    background-color: #ADD8E6;
  }
  -->
</style>
  </head>
  <body>
    <table width="613" height="424" border="0" align="center">
      <tr>
          <td colspan="2" align="center" valign="middle"><h2
            class="STYLE1">Hello ElfBoard
          </h2></td>
      </tr>
      </tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      <tr>
    </table>
  </body>
</html>
5、在开发板执行应用
root@ELF1:~# /etc/boa/boa
6、在浏览器输入开发板IP,效果如下
至此Boa的移植就完成了,希望各位小伙伴不仅能掌握这项技能,还能享受在嵌入式技术海洋中不断探索的乐趣,并期待你们在接下来的学习道路上越走越远,能够在嵌入式技术领域独当一面!

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
HFBR-1414 1 Broadcom Limited Transmitter, 792nm Min, 865nm Max, 20Mbps, ST Connector, Through Hole Mount, PLASTIC, DIP-8

ECAD模型

下载ECAD模型
暂无数据 查看
AT27C512R-70JU 1 Microchip Technology Inc IC OTP 512KBIT 70NS 32PLCC

ECAD模型

下载ECAD模型
$3.11 查看
FOD817BSD 1 onsemi 4-Pin DIP Phototransistor Optocouplers, 1000-REEL
$0.56 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐