保姆级AT32F437 配置RT-Thread 以太网(UDP/TCP Server)

news2024/11/25 8:14:21

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

本文档用于本人对知识点的梳理和记录。

一、前言

ENV版本:v1.3.5

rt-thread版本:V5+

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

二、ENV配置

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的数据包

 三、结语

对新手来说,保姆级教程比较难的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回顾 | Let's Learn .NET - Web 开发实战

点击蓝字 关注我们 编辑&#xff1a;Alan Wang 排版&#xff1a;Rani Sun Lets Learn .NET 系列 “Lets Learn .NET” 是面向全球的 .NET 初学者学习系列&#xff0c;旨在通过不同语言&#xff0c;帮助不同地区的开发者掌握最新的 .NET 开发知识与技能。 “Lets Learn .NET”系…

【云原生架构模式】库(Library ) vs 服务(Service ) vs Sidecar(边车)

所有软件应用程序都由可重用的元素组成。这些可重用元素的目标和功能从基础设施级别到安全级别到业务能力各不相同。本文的目的是比较用于构建和部署这些可重用元素的不同方法。 1. 库 这是重用代码的最广泛使用的方法。可重用代码作为库开发和发布。在这种方法中&#xff0c;客…

web前端开发工程师工作的岗位职责(合集)

web前端开发工程师工作的岗位职责1 职责&#xff1a; 1、根据设计图进行前端页面开发并设计编写业务交互脚本 2、优化前端页面&#xff0c;保证良好的用户体验以及不同浏览器的兼容性 3、web前沿技术研究和新技术调研&#xff0c;将主流的特效应用到业务场景中 4、配合后台…

政府关注 | 国家人社部报道盖雅工场以云服务助力劳动者灵活就业

党的二十大报告提出&#xff0c;「加强灵活就业和新就业形态劳动者权益保障」&#xff0c;为促进新就业形态规范健康发展指明了方向。近年来&#xff0c;随着数字经济快速发展&#xff0c;依托互联网平台的新就业形态脱颖而出&#xff0c;成为吸纳就业、提高劳动参与率、增加劳…

FFmpeg从入门到入魔(2):保存流到本地MP4

1 . FFmpeg裁剪移植 之前我们简单地讲解了下如何在Linux系统中编译FFmpeg&#xff0c;但是编译出来的so体积太大&#xff0c;而且得到的多个so不便于使用。本节在此基础上&#xff0c;将详细讲解在编译FFmpeg时如何对相关模块作裁剪以精简so的体积&#xff0c;并且编译只生成一…

【Flutter 组件】005-基础组件:单选、开关和复选框

【Flutter 组件】005-基础组件&#xff1a;单选、开关和复选框 文章目录 【Flutter 组件】005-基础组件&#xff1a;单选、开关和复选框一、概述二、基本使用1、开关代码示例运行结果 2、复选框代码示例运行结果 3、多个选项单选代码示例运行结果 4、多个选项多选代码示例运行结…

一次源码编译安装PostgreSql失败

需要perl&#xff1b;之前博文已提到&#xff1b;之前有一种编程语言叫perl&#xff0c;此perl应该不是那个&#xff1b;可到其官网下载&#xff0c;Perl Download - www.perl.org 安装时添加到环境变量&#xff1b; 可能是一个东西&#xff1b;有编程语言和工具&#xff1b;大…

怎样愉快的使用串口发送16进制数据并读取串口内容

像雷达 imu 陀螺仪一类的传感器&#xff0c;一般都是用的usb转串口和主机连接&#xff0c;然后通过串口读取传感器数据&#xff0c;串口是我们绕不过的一道坎&#xff0c;那我们就来继续手撕串口。 串口连接主机问题看上篇&#xff1a; 怎样愉快的连接使用usb转串口设备_JT_B…

WalxPlugin免Root框架使用详解和示例代码

2023年7月4日首发 WalxPlugin框架&#xff08;以下简称WP框架&#xff09;是一个不需要root权限就能使用的插件化模块&#xff0c;能够轻松实现在非root设备hook其它应用的调用和访问进程数据等功能。目前该框架已发布测试版。 一.WP框架工具包提供了以下几个模块&#xff1a…

5.8.5 TCP可靠传输(一)序号确认机制

5.8.5 TCP可靠传输&#xff08;一&#xff09;序号确认机制 TCP是可靠的传输层协议&#xff0c;主要通过序号确认机制、超时重传机制、定时器三个方面实现可靠传输。 一、序号确认机制 TCP将所要传送的整个的应用层报文看成是一个一个字节组成的数据流&#xff0c;并对每一个…

Cyclo(-Ala-Tyr),21754-26-7,环(丙氨酸-酪氨酸)二肽,由两个氨基酸通过肽键环合形成

&#xff08;文章资料汇总&#xff1a;陕西新研博美生物科技有限公司小编MISSwu&#xff09;​ 【产品描述】 Cyclo(-Ala-Tyr)&#xff0c;环(丙氨酸-酪氨酸)二肽&#xff0c;环二肽由两个氨基酸通过肽键环合形成&#xff0c;在氢键相互作用驱动下具有较强的自组装倾向&#x…

python的作用域、globals()-全局变量 和 locals()-局部变量

目录 查看全局变量和局部变量 变量解析规则 变量生存周期 在python中&#xff0c;函数会创建一个自己的作用域&#xff0c;也称为为命名空间。当我们在函数内部访问某个变量时&#xff0c;函数会优先在自己的命名空间中寻找。 我们自己定义的全局变量均在python内建的globa…

java项目linux启动文件

更改jar包名称和jar包所在目录 JAR包名称 替换成自己的项目包名称 JAR包所在目录替换成自己的jar包所在的目录 这里面的字符建议手打到服务器文件内&#xff0c;复制粘贴的话可能存在特殊符号 ps -ef|grep java SERVICE_PID$(ps aux | grep JAR包名称 | grep -v grep | awk…

influxDB聚合类函数

influxDB聚合类函数 1&#xff09;count()函数 返回一个&#xff08;field&#xff09;字段中的非空值的数量。 SELECT COUNT(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>] 例子1 计算非空water_level数量SELECT COUN…

Web3 处理智能合约部署到本地区块链,并在本地进行测试

上文 Web3 在Truffle项目中编写出自己的第一个solidity智能合约我们演示了 在Truffle环境下写一个智能合约并编译的功能 编译出的文件夹中的这个JSON就非常重要了 我们就可以通过 它这个ABI链接到需要的智能合约程序上去 但这也仅仅是编译完了 我们的智能合约还没有部署到我们…

gma 2 教程(一)概述:2.GMA 安装

依赖环境 系统环境 【操作系统】&#xff1a;64位&#xff08;amd64&#xff09;Windows、Linux 【内存】&#xff1a;≥8 GBPython 环境 【Windows】&#xff1a;3.8.8~3.11 【Linux】&#xff1a;3.9~3.11 目前不支持MacOS和其他平台。建议安装Anaconda创建Python环境。Anac…

解决postman接口自动化测试中登录后401权限问题

大家在做接口自动化测试的时候&#xff0c;碰到有登录的系统应该都会遇到401权限的问题&#xff0c;下面我来说下如何解决这个问题。 首先需要了解问题的本质&#xff0c;是要解决什么&#xff1f;这样我们才好对症下药&#xff0c;报401是因为用户在登录的时候&#xff0c;服务…

亚马逊云科技让AI开发速度更快,门槛更低

过去只有大型科技公司、政府机构和大学才有能力和时间、金钱去部署生成式AI能力。近二十年来&#xff0c;云服务把计算的门槛降低了。亚马逊云科技全球产品副总裁Matt Wood博士表示&#xff1a;“我们希望在生成式AI上做同样的事&#xff0c;把技术提供到每个开发者和商业用户的…

kaggle免费服务器全攻略

1. kaggle服务器16G显卡一周40小时. 所以我们直接干一堆谷歌账号即可 2. 谷歌账号的注册: 我们需要FQcolab for windows可以做到. 然后我们注册好账号后.我们注册4个账号. 注册方法. 打开chrome 点最下面的添加按钮.然后一直下一步即可.无脑注册. 3. 为Chrome多账户添加单独的…

机器人制作开源方案 | 立式铣床模型

1. 功能说明 铣床主要是指用铣刀在工件上加工多种表面的机床&#xff0c;本文示例将通过程序控制模拟铣床的运动效果--模拟铣床进行加工时各个结构的运动方式。铣床的运动主要包括&#xff1a;主轴的旋转运动、立铣头的上下进给运动、工作台的前后左右进给运动。 2. 结构说明 该…