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
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348735
  • TFT
    TFT
    +关注

    关注

    10

    文章

    374

    浏览量

    109778
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1271

    浏览量

    78290
  • STM32F4
    +关注

    关注

    3

    文章

    192

    浏览量

    27676
收藏 人收藏

    评论

    相关推荐

    通过STM32+ESP8266 Wifi模块 +云服务器,做一个数据收发控制的板子服务器方面该如何选择?

    通过STM32+ESP8266 Wifi模块 +云服务器 做一个数据收发控制的板子服务器方面该如何选择?
    发表于 04-25 08:16

    服务器远程不服务器怎么办?服务器无法远程的原因是什么?

    解封。 2.远程端口没有添加到防火墙策略中 很多人可能对这个不是很理解,在这解释一下:端口没有防火墙策略中允许所有人链接,那么这个端口就无法被访问, 同理,远程端口没有加入防火墙策略,就无法访问这台服务器
    发表于 02-27 16:21

    linux服务器和windows服务器

    ,这在满足个性化需求和增强服务器安全 性具有优势。 Linux服务器还具有出色的性能和稳定性。相比之下,Windows服务器性能和稳定性
    发表于 02-22 15:46

    TFTP服务器是什么如何下载文件

    TFTP服务器是什么如何下载文件 想必许多人知道FTP是什么,但他们缺并不熟悉TFTPTFTPTCP/IP协议族中的一种协议,用于客户端
    发表于 12-12 16:06

    搭建ftp服务器的步骤

    搭建ftp服务器的步骤  搭建FTP服务器是一项需要一定技术知识的任务,但是只要按照以下步骤进行操作,您就能成功搭建自己的FTP
    的头像 发表于 12-07 16:32 744次阅读

    嵌入式学习——ElfBoard ELF1板卡 TFTP服务搭建和使用

    :192.168.0.51 开发板ip:192.168.0.2321 TFTP服务搭建 TFTP(Trivial File Transfer Protocol,简单文件传输协议),是
    发表于 11-23 09:48

    存储服务器怎么搭建

      搭建存储服务器需要根据我们的需求和环境选择合适的硬件和软件,并进行相应的配置。那么存储服务器怎么搭建?
    的头像 发表于 10-31 16:51 1832次阅读

    AT32基于mbed TLS的HTTPS服务器

    AT32基于mbed TLS的HTTPS服务器介绍如何使用mbed TLS 搭建一个HTTPS 服务器,用户可以根据自己的应用去编写网页内容的同时,又简单地将传输数据加密。
    发表于 10-26 08:24

    8266STA模式连接不TCP服务器怎么解决?

    8266STA模式连接不TCP服务器
    发表于 10-17 07:25

    【风火轮YY3568开发板免费体验】FFMPEG的软编码、RTMP直播服务、以及板直播服务器搭建

    ,是本人截图技术差 板子的直播服务器搭建 在上面已经讲过,RTMP服务器我推荐的两个,其中一
    发表于 08-29 09:49

    单片机开启TFTP服务器的方法

    野火stm32开发板,w5500模块,Tftpd64软件,rt-thread操作系统和netutils软件包(网络小工具集)。(RT-Thread 目前支持 TFTP 服务器TFTP
    发表于 07-23 13:05 551次阅读
    单片机开启<b class='flag-5'>TFTP</b><b class='flag-5'>服务器</b>的方法

    什么是服务器指令?

    服务器
    YS YYDS
    发布于 :2023年06月23日 01:02:04

    STM32L4R5ZIT6拼服务器地址的问题

    我用STM32F303板子搞好的TCP服务器拼的时候这样: 都是40 而我用STM32L4R5板子
    发表于 06-14 12:27

    无法双mde中连接到TCP服务器(Station + SoftAP)?

    当我通过AT+CIPSERVER启动TCP服务器时,芯片运行在AP+Station双模时,如何知道它监听的是哪个接口? SoftAP 模式下,我可以连接到 192.168.4.1。但是当我还启用站
    发表于 05-15 08:33

    用AT+CIPSERVER=1,80启动服务器时,可以启动UDP服务器吗?

    :0.9.5 当我用 AT+CIPSERVER=1,80 启动服务器时, 我只有一个 TCP 服务器, 有人知道吗? 正常吗?我可以启动 UDP 服务器吗?
    发表于 05-15 07:27