自 FreeRTOS V10.1.0 开始,FreeRTOS+UDP 已从
(自 FreeRTOS V10.1.0 开始)。请参阅替代方案:FreeRTOS+TCP 堆栈
(此堆栈可配置为仅供 UDP 使用)。
|
|
FreeRTOS-Plus-UDP 示例项目
适用于 NXP LPC1830 Cortex-M3 微控制器
本页面包含:
|
由 NGX Technologies 开发的 LPC1830 Xplorer 板
|
此演示应用程序可从官方
FreeRTOS zip 文件下载内容的以下目录获取:
FreeRTOS-Plus/Demo/FreeRTOS_Plus_UDP_and_CLI_LPC1830_GCC
项目为预配置,面向
由
NGX Technologies 开发的非常低成本的 LPC1830 Xplorer。
在美国,目标硬件可以从
Newark 和
Digikey 等渠道购买。
在欧洲,硬件可以从
Farnell 等渠道购买。
在亚洲,硬件可以直接从
NGX Technologies 购买。
NGX 网站还列出了其他经销商。
该预配置为预配置,使用
免费的 LPCXpresso IDE 进行构建,
该 IDE 随附 GCC ARM 编译器。
此演示包含以下标准演示文件:
-
两个回显客户端任务
-
带有 IP 堆栈特定命令的命令控制台
构建此项目还可以选择性地包含 FreeRTOS-Plus-Trace
记录功能以及
开始和停止追踪记录的 FreeRTOS-Plus-CLI 命令
。
第三方 USB CDC 驱动程序允许
通过标准哑终端(如超级终端或 Tera Term)访问命令控制台。 main.c 顶部的
目标硬件必须通过 USB0 连接器
(以太网插口的对侧)供电 ,以使虚拟 COM 端口可用。
注意:第三部分 USB 驱动程序已能满足命令控制台输入和输出的需求,
但在重负载下不稳健。
-
执行 CreateProjectDirectoryStructure.bat 批处理文件以创建
演示项目目录结构体。 批处理文件位于主
FreeRTOS下载内容的以下目录中:
FreeRTOS-Plus/Demo/FreeRTOS_Plus_UDP_and_CLI_LPC1830_GCC/
-
启动 LPCXpresso IDE。
新建工作区,或在出现提示时选择现有工作区。
-
在 IDE 的 "File" 菜单中选择 "Import",然后选择 "Existing Projects Into Workspace",
如下所示,再点击 "Next"。
在 Import 对话框中选择 "Existing Projects Into Workspace"
-
单击 "Select Root Directory" 单选按钮,
然后导航到 并选择 FreeRTOS-Plus/Demo/FreeRTOS_Plus_UDP_and_CLI_LPC1830_GCC
目录,该目录位于 FreeRTOS 下载页面。
对话框将显示单个项目,
确保项目选中后,单击 finish。 导入的项目
将出现在 LPCXpresso IDE 的项目资源管理器窗口。
显示单个项目的导入对话框
-
请按照
Echo 客户端示例文档页面
设置 echo 服务器并在
FreeRTOSConfig.h 中设置回显服务器的地址。
-
将常量 configMAC_ADDR0 设置为 configMAC_ADDR5,
以确保使用的 MAC 地址在网络上是唯一的。 这些常量位于
位于 FreeRTOSConfig.h 底部。
-
如果 IP 地址分配由
DHCP 服务器 管理,
则无需进一步进行配置。
如果 IP 地址分配不由 DHCP 服务器管理,
那么在 FreeRTOSIPConfig.h 中将 ipconfigUSE_DHCP 设置为 0,
然后编辑 FreeRTOSConfig.h 底部的常量,以确保它们对以太网有效,
这些常量设置了静态 IP 地址、DNS 服务器地址、
网关地址和网络掩码的默认值,确保它们对
以太网有效。 如果 IP 地址的前三个八位字节
与同一网络上的其他 IP 地址的前三个八位字节相匹配,那么该 IP 地址就有效
——网络上的每个 IP 地址都必须是唯一的
。
-
若要构建项目,请在项目资源管理器中选择 "FreeRTOS_UDP_Demo",
然后从 IDE 的 "Project" 菜单中选择 "Build Project"
。
在项目资源管理器中先选择 FreeRTOS_UDP_Demo,然后选择 "Build Project"
目标硬件必须使用单独的调试硬件连接到调试主机
(运行 LPCXpresso IDE 的计算机)。
因此,推荐使用
红色探针
(带有
10 针适配器),但 LPCLink 提供了成本较低
(但性能更低)的替代方案。 如果您有
LPCXpresso 硬件板,
那么可以通过切割
从目标侧连接 LPCXpresso 硬件调试接口侧的轨道,
制作一个独立的 LPCLink。
LPCXpresso 板的 LPCLink 侧
将 LPC1830 Xplorer 板连接到调试器,
单击 LPCXpresso 快速启动面板中的调试选项。
快速启动面板中的调试选项
-
UDP/IP 相关的 CLI 命令
页面含有演示以下内容的视频:
-
连接到 FreeRTOS 命令行界面。
-
查看由 DHCP 服务器分配给目标硬件的 IP 地址
。
-
使用 DNS 解析器来 ping 主机名。
-
查看回显客户端
(FreeRTOS-Plus-UDP 应用程序)和回显服务器之间的网络流量。
-
注 1:
FreeRTOS-Plus-CLI 通过虚拟 COM 端口 (USB CDC) 进行访问。
该 COM 端口在应用程序开始执行时枚举,
但每次重启调试会话时都会消失。
为此,请确保用作 FreeRTOS-Plus-CLI 接口的终端
在调试会话停止之前断开与 COM 端口的连接
。 如果应用程序停止运行时,
或调试会话重启时,
终端仍连接着 COM 端口,则在终端程序自身关闭或重启之前,
COM 端口可能无法再访问
。
-
注 2:
增加 TwoEchoClients.c 中 echoLOOP_DELAY 的值将
减少产生的网络流量。
-
LED D3 将每 500 毫秒切换一次,以显示应用程序正在运行。
-
目标硬件第一次插入到主机时,
系统可能会提示您安装虚拟 COM 端口驱动程序。
完成安装所必需的 .inf
包含在 演示的 zip 文件的 ThirdParty/USB_CDC/inf 目录下
。
该示例演示了 FreeRTOS-Plus-Trace 的一些功能:
-
命名了一些 队列和信号量,以便在
FreeRTOS-Plus-Trace 中查看,以及
-
零拷贝回显客户端在发出回显请求前立即将一个用户事件插入追踪,
在等待回显回复前又立即插入了另一个用户事件
。
要将追踪记录器包含在构建中,请执行以下操作:
-
构建项目之前,先将 configINCLUDE_TRACE_RELATED_CLI_COMMANDS
(在 FreeRTOSConfig.h 中)设置为 1,然后再运行应用程序。
-
在命令控制台中输入 "trace start" 以开始追踪记录
。 在命令控制台中输入 "trace stop" 以结束追踪记录
。
-
通过检查表达式窗口中的 "sizeof( RecorderDataType )" 来获取追踪记录器缓冲区的大小
(请参阅下方中间的图片)
。
-
从 IDE 的 Window 菜单中
选择 "Show View->Other->Debug->Memory Browser" 选项,
暂停调试器并打开 Memory Browser 窗口。
打开 Memory Browser 窗口
-
在
Memory Browser 窗口的 "&RecorderData" 中查看内存,找到记录数据的起始点。
-
点击 Memory Browser 窗口中的 Export Memory 速度按钮( 要求 LPCXpresso V5.0.14 或更高版本),
将整个 RecorderData 变量导出为
原始二进制。 此外,
导出的内存长度须不得小于 sizeof( RecorderDataType ),
但可以大于 sizeof( RecorderData )。
导出 RTOS 追踪记录。 点击
查看大图。
-
导出的文件可以在 FreeRTOS-Plus-Trace 工具中打开
在 FreeRTOS-Plus-Trace 中查看 RTOS 追踪文件
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.