開發環境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread版本為4.0.3。
以RT-Thread中Lan8720和lwip協議棧的使用文章創建的工程為基礎。
httpd(The Apache HTTP Server)的官方網址。
在rtthread工程中新建文件夾webserver,存放webserver相關文件。
在正點原子例程網絡實驗10 NETCONN_WEBserver實驗中的LWIPlwip_appweb_server_demo 文件夾 下的文件拷貝到文件夾webserver。如下圖:
對工程進行編譯,工程報錯。根據報錯提示進行修改。修改過程如下:
STEP1:錯誤提示 httpd.c8623: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"
保存,編譯
STEP2 :錯誤提示:httpd_cgi_ssi.c523: fatal error: lwip_comm.h: No such file or directory。屏蔽掉頭文件 //#include "lwip_comm.h"。同時屏蔽掉//#include "led.h" //#include "tsensor.h" //#include "rtc.h" //#include "lcd.h"
修改httpd_cgi_ssi.c文件中的內容,將xxx_Handler函數中內容屏蔽掉,只保留定義。比如RTCdate_Handler函數。LEDS_CGI_Handler函數只保留return "/STM32_LED_OFF_BEEP_OFF.shtml";
編譯報錯,提示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 排除構建
新建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);
編譯,下載到開發板。啟動后輸入webserver_start指令,打開瀏覽器輸入ip地址,效果 如下:
-
STM32
+關注
關注
2289文章
11006瀏覽量
362129 -
RTC
+關注
關注
2文章
606瀏覽量
68248 -
LwIP協議棧
+關注
關注
0文章
19瀏覽量
7600 -
STM32F407
+關注
關注
15文章
188瀏覽量
30219 -
RT-Thread
+關注
關注
32文章
1367瀏覽量
41485
發布評論請先 登錄
i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下)
如何將RT-Thread移植到NXP MCUXPressoIDE上

RT-Thread移植使用webserver的流程
RT-Thread使用webserver的步驟
移植RT-Thread的原理與方法
【國產MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano

基于 Keil MDK 移植 RT-Thread Nano

RT-Thread在Lan8720a和 lwip基礎上移植ntp流程

評論