网页服务器开发版,在FRDM

编程入门 行业动态 更新时间:2024-10-09 00:46:57

网页<a href=https://www.elefans.com/category/jswz/34/1771423.html style=服务器开发版,在FRDM"/>

网页服务器开发版,在FRDM

飞思卡尔FRDM-K64F开发板非常适合用于以太网试验。但是在网上并没有在该开发板上快速搭建简易WEB服务器的教程。以下的内容将帮助大家在FRDM-K64F开发板上建立一个HTTP服务器,该服务器带有一个索引页以及支持打印一些随机数的简单CGI脚本的页面。这是使用该电路板开发任何基于网络的小工具的绝对最低的基础。

frdm-k64f120m-board-with-bluetooth-and-nrf24l01.png (743.83 KB, 下载次数: 11)

2017-2-16 15:01 上传

在开发之前,建议仔细阅读一下这篇文章:HTTP server demo application。首先创建一个新项目,选择MK64FN1M0VLL12微控制器并保留默认设置,除了选项卡Utilities和Configure Image File Processing (FCARM)。 后面会详细介绍这些内容。接下来,选择Web服务器应用程序所有必需的包:CMSIS、以太网MAC和PHY的CMSIS驱动程序;

packs1.jpg (98.09 KB, 下载次数: 10)

2017-2-16 15:02 上传

选择Kinetis SDK的框架包:

packs2.jpg (115.52 KB, 下载次数: 20)

2017-2-16 15:02 上传

选择Kinetis SDK HAL驱动程序:

packs3.jpg (121.14 KB, 下载次数: 15)

2017-2-16 15:02 上传

选择其他SDK包:

packs4.jpg (42.71 KB, 下载次数: 14)

2017-2-16 15:02 上传

最后,选择网络包:

packs5.jpg (85.64 KB, 下载次数: 19)

2017-2-16 15:02 上传

在项目浏览器中添加两个组:“SRC”和“Web Files”:

project1.jpg (16.45 KB, 下载次数: 12)

2017-2-16 15:02 上传

在CMSIS组RTX_Conf_CM.C文件中配置RTOS:

rtxconf.jpg (51.93 KB, 下载次数: 16)

2017-2-16 15:02 上传

在DEVICE组中编辑RTE_Device.h,启用MAC并选择RMII模式,并选择OSCERCLK作为时钟源:

eth1.jpg (17.71 KB, 下载次数: 13)

2017-2-16 15:01 上传

编辑hardware_init.c文件并将以下代码放在该文件中:

#include "board.h"

#include "pin_mux.h"

#include "fsl_clock_manager.h"

#include "fsl_debug_console.h"

void hardware_init(void) {

/* Disable Memory Protection Unit */

MPU->CESR &= ~MPU_CESR_VLD_MASK;

/* enable clock for PORTs */

CLOCK_SYS_EnablePortClock(PORTA_IDX);

CLOCK_SYS_EnablePortClock(PORTB_IDX);

CLOCK_SYS_EnablePortClock(PORTC_IDX);

CLOCK_SYS_EnablePortClock(PORTD_IDX);

CLOCK_SYS_EnablePortClock(PORTE_IDX);

configure_enet_pins (0);

/* Setup board clock source. */

g_xtal0ClkFreq = 50000000U;

g_xtalRtcClkFreq = 32768U;

/* Init board clock */

BOARD_ClockInit();

dbg_uart_init();

}复制代码

在NetWork组中编辑文件Net_Config.c中。输入本地主机名、内存池大小,启用系统服务和调整核心线程的堆栈大小:

netconfig.jpg (25.73 KB, 下载次数: 15)

2017-2-16 15:01 上传

在文件Net_Config_Eth_0.h中编辑以太网配置,其地址适用于IP v4和v6的LAN:

ethconfig.jpg (73.74 KB, 下载次数: 21)

2017-2-16 15:01 上传

在Net_Config_Legacy.h中启用所有传统回调。这是使能与旧版API的向后兼容性所必需的。在文件Net_Config_TCP.h中配置TCP层:

tcpconfig.jpg (27.48 KB, 下载次数: 13)

2017-2-16 15:02 上传

在文件Net_Config_UDP.h中将UDP套接字调整为5

编辑文件Net_Config_HTTP_Server.h中的HTTP服务器配置:

httpconf.jpg (34.27 KB, 下载次数: 15)

2017-2-16 15:01 上传

最后一步设置是在项目设置的选项卡Utilities和Configure Image File Processing (FCARM)中:输入web.c作为输出文件,并选择放置生成的源文件的文件组。定义图像文件的根文件夹。 “图像”文件是具有网页内容的所有文件。 FCARM将自动将这些文件转换为目标闪存中的阵列。

fcarm.jpg (58.22 KB, 下载次数: 12)

2017-2-16 15:01 上传

现在是时候添加一些代码。

将main.c添加到SRC组中:

#include "cmsis_os.h"                   /* CMSIS RTOS definitions             */

#include "rl_net.h"                     /* Network definitions                */

#include "board.h"                      /* BSP definitions                    */

/*----------------------------------------------------------------------------

Main Thread 'main': Run Network

*---------------------------------------------------------------------------*/

int main (void) {

hardware_init();

net_initialize     ();

while(1) {

net_main ();

osThreadYield ();

}

}复制代码

在文件index.htm中添加主网页并将其添加到“Web Files”组中:

S54MTB Testing Web server

The web server is working :)

更多推荐

网页服务器开发版,在FRDM

本文发布于:2024-02-13 19:26:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760577.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务器   网页   FRDM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!