0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在STM32F407板子上搭建TCP服务器及TFTP服务器

STM32单片机 来源:互联网 作者:佚名 2017-09-25 18:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

掉落的枫叶像老工程师的笔记经验我打开夜灯照亮岁末的秋天晚霞掠过天边北风掠过工作台的桌面我把努力融进了落叶想换来熟悉的那些肯定的笑颜

开发平台

STM32F407开发板(带以太网),板子上的PHY为LAN8720A,没有用到显示屏全为串口输出调试信息。实现功能

通过STM32CubeMX在原子STM32F407板子上搭建TCP Server 及 TFTP Server ,实现这些功能非常简单。步骤

功能介绍、工程搭建、工程代码、TFTP 服务器测试

1、TCP Server 实现显示连接上的客户端IP及对客户端发来的数据回传2、TFTP Server 实现IAP功能及读取MCU内部FLASH数据。这里用到的是文件传输协议,主要是参考官方文档UM1709,及官方STM324xG_EVAL的LWIP IAP例子。

工程搭建

外设配置

打开STM32CubeMX,点NEW PROJECT,在左侧的输入框中输入407ZG,在右侧会显示STM32F407ZGT6的MCU列表,选择此列表,双击。设置时钟源为外部时钟开启SWD调试接口,开启ETH外设,选择RMII接口(LAN8720A为RMII接口),中间件里时能LWIP。使用RMII接口的时候软件会自动配置对应的引脚,但是一定要仔细对比软件配置的引脚是否为板子上硬件所连接的

原子F407板子上的LAN8720A的RMII接口引脚如下图,

  1. 配置时钟外部高速晶振选择为8M,PLL SORCE MUX 选择为HSE,在HCLK处输入168点回车,软件会自动配置好

  2. 中间件配置这里主要配置,ETH、LWIP、串口1、GPIO

  3. 生成工程代码

    点左上角的Project,选择Settings...(不建议直接点黄色的齿轮),点击OK。再点右上方的黄色齿轮即可生成工程代码

工程代码

1、TCP Server 的实

看起来代码很多,其实真的不复杂。

大致流程:先新建一个TCB_PCB、开始监听、挂载客户端连接请求回调函数、挂载接收数据回调函数、挂载发送完成回调函数、挂载出错回调函数、挂载心跳包回调函数、关闭连接等,最重要的是释放内存!每收到一个数据链,它已经被申请了内存,所有在处理完这个数据后一定要释放

2、TCP服务器测试用网络调试助手连接TCP服务器(两者必须在一个网关里面,192.168.000.XXX),网络调试助手里选择TCP客户端,远程主机IP为 192.168.0.120 , 端口号为7

详细测试步骤请点击阅读原文下载。

通过测试,则表示TCP服务器已经完成。您也可以通过手机连接这个路由器的WIFI,通过 网络调试助手APP来连接这个开发板的服务器,电脑可以通过 TCP客户端与开发板的TCP服务器连接同时也可以用手机做TCP客户端连接开发板的TCP服务器

3、TFTP Server 的实现还是在上面的代码上来实现此功能,即在TCP 服务器的代码上实现TFTP 服务器。打开刚才STM32CubeMX工程,在原来的基础上来配置LWIP。

因为是要通过TFTP 来实现 IAP 功能 ,所有一定有FLASH 的操作,这里我们COPY官方例子里面的flash_if.c和flash_if.h

至此,TFTP服务器搭建完成,下载到开发板串口显示如下信息:Start 开始监听 挂载客户端连接回调函数 TFTP初始化成功 Static IP address: 192.168.0.120可以通过上面的TCP服务器测试步骤来测试TCP服务器功能,正常测试,工作正常,ping也能

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2305

    文章

    11123

    浏览量

    371212
  • TFT
    TFT
    +关注

    关注

    10

    文章

    405

    浏览量

    114122
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1418

    浏览量

    83033
  • STM32F4
    +关注

    关注

    3

    文章

    204

    浏览量

    29834
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-常用的网络服务搭建TFTP服务搭建

    File Transfer Protocol,简单文件传输协议),是TCP/IP协议族中用来客户机和服务器之间进行简单文件传输的协议,开销很小。TFTP通常用于内核调试。
    发表于 10-21 11:29

    服务器数据恢复—服务器的卷被误删数据如何恢复?

    工作人员不慎将一台服务器的卷误删除,服务器上有一组raid5阵列。需要恢复误删除的数据。
    的头像 发表于 08-14 11:33 746次阅读
    <b class='flag-5'>服务器</b>数据恢复—<b class='flag-5'>服务器</b><b class='flag-5'>上</b>的卷被误删数据如何恢复?

    怎样阿里ECS服务器架设自己的OpenVPN服务器

    需要自己架设服务器,让现场的IR615路由连接自己的服务器。能通过自己的服务器进行数据采集和远程运维。
    发表于 08-06 06:56

    恒讯科技分析:云储存服务器搭建教程

    搭建云存储服务器是一个相对复杂但极具实用性的项目,以下是一个简化的搭建教程,帮助你快速入门。 一、明确需求 搭建云存储
    的头像 发表于 07-07 11:07 1078次阅读

    DNS服务器无法访问?2分钟快速排查与解决!#DNS服务器 #DNS #服务器

    服务器
    jf_57681485
    发布于 :2025年06月10日 14:55:34

    国外bgp服务器多少钱?# 服务器

    服务器
    jf_57681485
    发布于 :2025年04月24日 14:19:00

    新加坡服务器延迟大吗?真相在这里#新加坡服务器 #服务器

    服务器
    jf_57681485
    发布于 :2025年04月18日 13:48:50

    存储服务器怎么搭建?RAKsmart实战指南

    搭建存储服务器需兼顾硬件性能、数据冗余与安全访问。以RAKsmart服务器为例,整体流程可分为五步:需求评估→硬件选型→RAID配置→系统部署→网络设置。以下是小编对RAKsmart存储服务器
    的头像 发表于 04-01 10:09 975次阅读

    NTP校时服务器 时钟同步服务器

    服务器
    jf_75250307
    发布于 :2025年03月19日 20:56:34

    服务器怎么搭建

    服务器搭建是一个涉及多个方面的复杂过程,从硬件选择到软件配置,再到安全防护和日常维护,每一步都需细心规划与实施。下面,小库为您简要介绍服务器搭建的基本步骤。
    的头像 发表于 03-04 13:04 1219次阅读

    windows搭建ftp服务器的步骤

    Windows系统搭建FTP(文件传输协议)服务器通常涉及一系列步骤,包括安装必要的服务、配置服务器
    的头像 发表于 02-01 15:49 2194次阅读

    ftp服务器怎么搭建

    搭建FTP(文件传输协议)服务器是一个涉及多个步骤的过程,这些步骤包括选择合适的FTP服务器软件、安装软件、配置服务器以及测试连接等。 一、选择合适的FTP
    的头像 发表于 02-01 15:43 1417次阅读

    采用 Flexus 云服务器 X 实例搭建 RTSP 直播服务器

    一、前言 这篇文章讲解:  采用华为云最新推出的 Flexus 云服务器 X 实例搭建 RTSP 服务器,完成视频直播需求。 随着实时视频流传输需求的增长,RTSP(实时流协议)服务器
    的头像 发表于 12-24 17:36 1020次阅读
    采用 Flexus 云<b class='flag-5'>服务器</b> X 实例<b class='flag-5'>搭建</b> RTSP 直播<b class='flag-5'>服务器</b>