[应用相关] 雅特力 AT32F437 配置RT-Thread 以太网(UDP/TCP Server)

[复制链接]
1480|8
 楼主| coshi 发表于 2023-7-12 10:23 | 显示全部楼层 |阅读模式
本帖最后由 muyichuan2012 于 2023-8-7 14:29 编辑

一、前言
ENV版本:v1.3.5

rt-thread版本:V5+

开发板:雅特力AT32F437 AT-START-F437

二、ENV配置
ENV工具输入“menuconfig”,回车后进入配置页面

1、打开硬件Ethernet,并选择PHY,开发板板载DM9162

5040364adfb8984f83.png

2、打开 SAL层,并打开"Enable network interface device"

6698164adfb90eaff3.png

3、打开相应的TCP/UDP应用

-> RT-Thread online packages
     -> miscellaneous packages
        -> samples: kernel and components samples
           -> a network_samples package for rt-thread

8323164adfb989fcfd.png
4、保存退出配置页面

5、在 Env 命令行中输入 pkgs --update 下载软件包;

6、在 Env 命令行中输入 scons --target=mdk5 -s 生成 mdk5 工程。

7748364adfb9f65079.png

7、打开新生成的工程,并编译,此时会发现报错如下图

packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EINTR" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EWOULDBLOCK" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EAGAIN" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c: 0 warnings, 3 errors
3715664adfba85aa18.png

8、在 tcpserver.c 添加头文件

#include "tcpserver.h"
#include <sys/ioctl.h>
#include <sys/errno.h>

#define DBG_TAG    "tcpserv"
#ifdef  PKG_TCPSERVER_DEBUG
#define DBG_LVL    DBG_LOG
#else
#define DBG_LVL    DBG_INFO
#endif
#include <rtdbg.h>
9、编译通过,并下载到开发板中运行,msh中输入 help 可以看到新增了一些指令
2358064adfbb661da5.png


10、测试UDP server,默认打开了端口5000,收到PC的数据包

1419764adfbbc2afa1.png
————————————————
版权声明:本文为CSDN博主「黑色HS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38933763/article/details/131533572

tpgf 发表于 2023-8-5 10:00 | 显示全部楼层
我们写单片机程序的时候是否能试下ip地址的动态更改呢
gwsan 发表于 2023-8-5 10:41 | 显示全部楼层
SAL抽象层是RT-Thread操作系统所特有的吗
chenjun89 发表于 2023-8-5 16:55 来自手机 | 显示全部楼层
**RTtread的三分库越来越完善。
zljiu 发表于 2023-8-5 17:03 | 显示全部楼层
udp server和tcp server有什么不同的特点吗
aoyi 发表于 2023-8-5 17:42 | 显示全部楼层
可以自如配置服务器端和客户端吗
nawu 发表于 2023-8-5 18:22 | 显示全部楼层
为什么我感觉这个工具的 界面不那么友好呢
tfqi 发表于 2023-8-5 22:07 | 显示全部楼层
采用了RT-Thread操作系统的SAL抽象层,开发者则无须考虑系统采用的是哪种无线方式、哪种无线芯片、甚至哪种模块,哪种接口,只需调用上层的API接口,即可实现一次开发,跨平台使用。
weifeng90 发表于 2023-8-6 08:49 来自手机 | 显示全部楼层
RTTread的menuconfig设计很不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

96

主题

3310

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部