此页面所述的演示使用 FreeRTOS.org、Eclipse Europa、 Yagarto GCC 工具、OpenOCD 和 uIP 微型 TCP/IP 堆栈创建一个适用于 NXP LPC2368 ARM7 微控制器的简单 Web 服务器示例。 该演示经过配置用于 MCB2368 原型板 (如果您希望使用替代开发板,我们也提供相关说明)。 Eclipse Europa 版本包含有助于交叉开发的增强功能。 FreeRTOS zip 文件包含除 Eclipse 和 Yagarto 工具以外的所有必要内容。 请仔细按照这些说明正确安装和配置 Eclipse, 以便与此演示应用程序一起使用。 随附的 OpenOCD 可执行文件和相关配置文件经过设置用于兼容 Macraigor Wiggler 的 JTAG 接口。 请注意,uIP 和 OpenOCD 与 FreeRTOS.org 分开授权。 用户必须熟悉相应的许可证。 自此演示创建以来,FreeRTOS 已对 uIP 堆栈做出了一些修改。 请参阅嵌入式以太网示例列表页面,获取更多详细信息。 此演示也可进行预配置用于 Rowley CrossStudio。 Hitex 提供了适用于 LPC2378 (使用 HiTOP 开发工具)的替代演示。 Linux 用户请注意: 虽然所使用的工具均为跨平台工具,但我仅在 Windows 主机上测试了 LPC2368/Eclipse 构建。
重要提示!使用 Eclipse LPC23xx Web 服务器演示的说明使用此 RTOS 移植之前,请阅读以下所有要点。另请参阅常见问题:我的应用程序未运行,问题可能出在哪里? 源代码组织Eclipse LPC2368 演示的 Eclipse 工作区位于 FreeRTOS/Demo/ARM7_LPC2368_Eclipse 目录。 在 Eclipse 启动过程中提示选择工作区位置时请选择此目录。 请务必阅读 Eclipse 的安装和配置说明, 然后再构建项目。 下载的 FreeRTOS zip 文件包含所有移植文件和演示应用程序项目文件。 因此其包含的文件 远多于此演示使用的文件。 请参阅源代码组织部分,获取 下载文件的描述和有关创建新项目的信息。
演示应用程序演示应用程序设置直接使用点对点(交叉)电缆或通过使用标准以太网电缆的集线器/路由器将 MCB2300 开发板连接到运行 Web 浏览器的计算机上。 点对点连接时,原型板也允许使用标准以太网电缆, 但我没有尝试过这种配置。演示使用的 IP 地址是通过 FreeRTOS/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/webserver/uIP_Task.c 文件中的 uipIP_ADDR0 到 uipIP_ADDR3 常量设置的。 运行 Web 浏览器的计算机使用的 IP 地址必须和原型板使用的 IP 地址相兼容。 为此,可以将二者 IP 地址中的前三个八位元组设置成相同的值。 例如,如果运行 Web 浏览器的计算机所用 IP 地址是 192.168.100.1,那么原型板的 IP 地址可以使用 192.168.100.2 到 192.168.100.254 范围内的任何地址 (任何网络上的现有地址除外)。 同一文件中的 uipMAC_ADDR0 到 uipMAC_ADDR5 常量定义了目标硬件使用的 MAC 地址。 请务必确保所配置的 MAC 地址在原型板所连接的网络上具有唯一性。 此演示应用程序使用了在原型板上构建的 LED 和 LCD,因此无需使用其他硬件设置。
构建演示应用程序再次提醒,请参阅 Eclipse 安装和配置说明, 以了解更多详细信息。
运行演示应用程序再次提醒,请参阅 Eclipse 安装和配置说明, 以了解更多详细信息。
功能性此演示应用程序创建了 27 个任务。 这些任务主要包含标准 演示应用程序任务(有关个别任务的详细信息,请参阅演示应用程序部分)。除了标准演示任务外,还创建了以下任务/函数:
如果演示应用程序正确执行,将实现以下效果:
提供的网页每个提供的页面顶部包含一个菜单,其中含有指向其他每个页面的链接。
提供的 RTOS 统计页面 RTOS 统计页面提供了系统内每个任务状态的运行时信息,包括堆栈高水位线(任务开始执行后, 可随时在此处获取最小数量的堆栈)。 该页面大约每 2 秒重新加载一次,具体取决于网络负载。 此页面分三个部分传输:HTML 标头和菜单、动态生成的内容以及 HTML 页脚。 这样, 页面的加载速度相对较快。 可以通过一次性传输整个页面来进一步优化加载速度。 有时,连续重新加载 RTOS 统计页面会导致无法从该页面离开。
提供的 IO 页面 IO 页面提供了一个简单的接口,允许将数据发送到 MCB2300 开发板上的 LED 和 LCD。 三个复选框支持设置和查询 P2.5、P2.6 和 P2.7 输出口上的 LED 状态。 文本框可用于向 LCD 写入消息, 但不会查询当前显示的文本。 点击 "Update IO" 按钮可将变更发送到目标硬件。 请注意,'check' 任务每 5 秒更新一次显示内容,因此从 Web 客户端发送的任何文本会很快被覆盖。 TCP 统计和连接页面显示运行时网络信息。 请注意,这些页面单独传输每行数据,因此加载速度较慢。 这演示了如何通过牺牲已实现的数据吞吐量来利用小型传输缓冲区优化内存使用。
RTOS 配置和使用详情此演示使用了 FreeRTOS LPC2000 GCC 移植,重要使用信息详见标准 LPC2000 GCC 演示文档页面。Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|