• 正文
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

ELF 1技術貼 | 如何移植Boa 到開發(fā)板上

2024/02/04
2177
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

Boa作為一款專為嵌入式系統(tǒng)打造的輕量級Web服務器,其核心優(yōu)勢在于能夠在嚴苛的硬件條件下穩(wěn)定運行,Boa出色的可定制性和擴展?jié)撃苓m用于多種應用情境。當面對嵌入式裝置或其他計算資源有限的平臺時,部署B(yǎng)oa作為Web服務解決方案顯得尤為適宜。

接下來,將跟各位小伙伴詳細介紹一下基于ELF 1開發(fā)板移植Boa的方法。

1、Boa官網(wǎng)下載源碼

官網(wǎng)網(wǎng)址: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
這時會出現(xiàn)報錯,如下圖顯示:
修改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
修改完成,保存退出,繼續(xù)make,之后就不會報錯了。
至此交叉編譯Boa已經(jīng)完成,接下來在開發(fā)板上進行測試。
1、開發(fā)板中建立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、將可執(zhí)行應用和一些配置文件通過Scp命令拷貝到開發(fā)板中
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/下創(chuàng)建index.html
root@ELF1:/etc# vi /www/index.html
并編寫加入以下內(nèi)容:
<!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、在開發(fā)板執(zhí)行應用
root@ELF1:~# /etc/boa/boa
6、在瀏覽器輸入開發(fā)板IP,效果如下
至此Boa的移植就完成了,希望各位小伙伴不僅能掌握這項技能,還能享受在嵌入式技術海洋中不斷探索的樂趣,并期待你們在接下來的學習道路上越走越遠,能夠在嵌入式技術領域獨當一面!

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
74HC245D,653 1 Nexperia 74HC245; 74HCT245 - Octal bus transceiver; 3-state@en-us SOP 20-Pin

ECAD模型

下載ECAD模型
$0.61 查看
FTLF8524P2BNV 1 Finisar Corporation Transceiver, 830nm Min, 860nm Max, 4250Mbps(Tx), 4250Mbps(Rx), LC Connector, Panel Mount, ROHS COMPLIANT PACKAGE
$301.6 查看
AQV252GAZ 1 Panasonic Electronic Components Solid State Relay,
$6.55 查看

相關推薦