赞
踩
好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。
本文档用于本人对知识点的梳理和记录。
雅特力 AT32F437 配置RT-Thread 以太网(UDP/TCP Server)
ENV版本:v1.3.5
rt-thread版本:V5+
开发板:雅特力AT32F437 AT-START-F437
ENV工具输入“menuconfig”,回车后进入配置页面
1、打开硬件Ethernet,并选择PHY,开发板板载DM9162
2、打开 SAL层,并打开"Enable network interface device"
3、打开相应的TCP/UDP应用
- -> RT-Thread online packages
- -> miscellaneous packages
- -> samples: kernel and components samples
- -> a network_samples package for rt-thread
4、保存退出配置页面
5、在 Env 命令行中输入 pkgs --update 下载软件包;
6、在 Env 命令行中输入 scons --target=mdk5 -s 生成 mdk5 工程。
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
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 可以看到新增了一些指令
10、测试UDP server,默认打开了端口5000,收到PC的数据包
对新手来说,保姆级教程比较难的,有问题可以留言或者发邮件到:495323976@qq.com讨论
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。