開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread版本為4.0.3。
以RT-Thread中Lan8720和lwip協(xié)議棧的使用文章創(chuàng)建的工程為基礎(chǔ)。
httpd(The Apache HTTP Server)的官方網(wǎng)址。
在rtthread工程中新建文件夾webserver,存放webserver相關(guān)文件。
在正點(diǎn)原子例程網(wǎng)絡(luò)實(shí)驗(yàn)10 NETCONN_WEBserver實(shí)驗(yàn)中的LWIPlwip_appweb_server_demo 文件夾 下的文件拷貝到文件夾webserver。如下圖:
對(duì)工程進(jìn)行編譯,工程報(bào)錯(cuò)。根據(jù)報(bào)錯(cuò)提示進(jìn)行修改。修改過程如下:
STEP1:錯(cuò)誤提示 httpd.c8623: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"
保存,編譯
STEP2 :錯(cuò)誤提示:httpd_cgi_ssi.c523: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"。同時(shí)屏蔽掉//#include "led.h" //#include "tsensor.h" //#include "rtc.h" //#include "lcd.h"
修改httpd_cgi_ssi.c文件中的內(nèi)容,將xxx_Handler函數(shù)中內(nèi)容屏蔽掉,只保留定義。比如RTCdate_Handler函數(shù)。LEDS_CGI_Handler函數(shù)只保留return "/STM32_LED_OFF_BEEP_OFF.shtml";
編譯報(bào)錯(cuò),提示fsdata.o:(.rodata.file__image_head_jpg+0x0): multiple definition offileimage_head_jpg’ ;fs.o:(.rodata.fileimage_head_jpg+0x0): first defined here`
將fsdata.c 排除構(gòu)建
新建web_server.c文件,添加代碼如下:
void webserver_start(void)
{
rt_kprintf("nntNow, Initializing The WEB File System...n");
/* Httpd Init /
httpd_init();
/ 配置 SSI 處理程序 /
httpd_ssi_init();
/ 配置 CGI 處理器 */
httpd_cgi_init();
rt_kprintf("tNow, Starting The WEB Server Thread...n");
}
MSH_CMD_EXPORT(webserver_start, start web server);
編譯,下載到開發(fā)板。啟動(dòng)后輸入webserver_start指令,打開瀏覽器輸入ip地址,效果 如下:
-
STM32
+關(guān)注
關(guān)注
2272文章
10923瀏覽量
357550 -
RTC
+關(guān)注
關(guān)注
2文章
542瀏覽量
67027 -
LwIP協(xié)議棧
+關(guān)注
關(guān)注
0文章
19瀏覽量
7417 -
STM32F407
+關(guān)注
關(guān)注
15文章
188瀏覽量
29650 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1305瀏覽量
40383
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下)
RT-Thread移植使用webserver的流程
RT-Thread使用webserver的步驟
移植RT-Thread的原理與方法
【國(guó)產(chǎn)MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano
![【國(guó)產(chǎn)MCU<b class='flag-5'>移植</b>】HC32F460基于Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【國(guó)產(chǎn)MCU移植】移植RT-Thread到國(guó)產(chǎn)芯片HC32F460PETB
![【國(guó)產(chǎn)MCU<b class='flag-5'>移植</b>】<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>到國(guó)產(chǎn)芯片HC32F460PETB](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【國(guó)產(chǎn)MCU移植】移植RT-Thread到國(guó)產(chǎn)芯片F(xiàn)M33LC026
![【國(guó)產(chǎn)MCU<b class='flag-5'>移植</b>】<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>到國(guó)產(chǎn)芯片F(xiàn)M33LC026](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于 Keil MDK 移植 RT-Thread Nano
![基于 Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread使用webserver(lwip協(xié)議棧自帶httpd )
![<b class='flag-5'>RT-Thread</b>使用<b class='flag-5'>webserver</b>(<b class='flag-5'>lwip</b>協(xié)議棧自帶<b class='flag-5'>httpd</b> )](https://file1.elecfans.com/web2/M00/A7/DB/wKgaomUnllKAMOvBAAF8mjgARLI052.jpg)
RT-Thread在Lan8720a和 lwip基礎(chǔ)上移植ntp流程
![<b class='flag-5'>RT-Thread</b>在Lan8720a和 <b class='flag-5'>lwip</b>基礎(chǔ)上<b class='flag-5'>移植</b>ntp流程](https://file1.elecfans.com/web2/M00/A9/A7/wKgZomUntWGAcCOHAACP1O8yWfM803.jpg)
評(píng)論