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

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

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

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

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

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

官網(wǎng)網(wǎng)址:Boa download | SourceForge.net

下載好的Boa源碼為:boa-0.94.13.tar.gz

2、將源碼拷貝到虛擬機(jī)并解壓

elf@ubuntu:~/work/a/boa$ tar xvf boa-0.94.13.tar.gz
3、進(jìn)行交叉編譯
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
這時(shí)會(huì)出現(xiàn)報(bào)錯(cuò),如下圖顯示:
修改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,之后就不會(huì)報(bào)錯(cuò)了。
至此交叉編譯Boa已經(jīng)完成,接下來在開發(fā)板上進(jìn)行測試。
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í)行應(yīng)用和一些配置文件通過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í)行應(yīng)用
root@ELF1:~# /etc/boa/boa
6、在瀏覽器輸入開發(fā)板IP,效果如下
至此Boa的移植就完成了,希望各位小伙伴不僅能掌握這項(xiàng)技能,還能享受在嵌入式技術(shù)海洋中不斷探索的樂趣,并期待你們在接下來的學(xué)習(xí)道路上越走越遠(yuǎn),能夠在嵌入式技術(shù)領(lǐng)域獨(dú)當(dāng)一面!

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
AS-24.576-18-F-EXT-SMD-TR 1 Raltron Electronics Corporation Parallel - Fundamental Quartz Crystal, 24.576MHz Nom, HC-49, SMD, 2 PIN
暫無數(shù)據(jù) 查看
AFBR-5803Z 1 Foxconn Transceiver, 1270nm Min, 1380nm Max, 125Mbps(Tx), 125Mbps(Rx), SC Connector, Through Hole Mount, ROHS COMPLIANT, SIP-9
$34.98 查看
SDINBDG4-8G-XI1 1 Western Digital Corp Flash,
$56.03 查看

相關(guān)推薦