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