英飞凌 00 XMC48 物联网连接套件入门 - 免费 RTOS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

英飞凌 00 XMC48 物联网连接套件入门

重要

此参考集成托管在 Amazon-Free RTOS 存储库中,该存储库已弃用。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-Free RTOS 存储库的免费RTOS项目,请参阅。亚马逊免费版 RTOS Github 存储库迁移指南

本教程提供了英飞凌 00 XMC48 物联网连接套件的入门说明。如果您没有 Infineon 00 XMC48 IoT 连接套件,请访问 AWS 合作伙伴设备目录,从我们的合作伙伴处购买。

如果要打开与主板的串行连接以查看日志记录和调试信息,则需要一个 3.3V USB/Serial converter, in addition to the XMC4800 IoT Connectivity Kit. The CP2104 is a common USB/Serial 转换器,该转换器广泛应用于 Adafruit 的 04 Friend 等主板。CP21

在开始之前,必须进行配置 AWS IoT 并免费RTOS下载,才能将设备连接到 AWS 云端。有关说明,请参阅初始步骤:在本教程中,免费RTOS下载目录的路径称为freertos

概述

本教程包含有关以下入门步骤的说明:

  1. 在主机上安装软件来开发和调试微控制器主板的嵌入式应用程序。

  2. 将免费RTOS演示应用程序交叉编译成二进制映像。

  3. 将应用程序二进制映像加载到您的主板上,然后运行该应用程序。

  4. 跨串行连接与主板上运行的应用程序进行交互,以便进行监视和调试。

设置开发环境

Free RTOS 使用英飞凌的DAVE开发环境对 00 进行编程。XMC48在开始之前,您需要下载DAVE并安装一些 J-Link 驱动程序,以便与板载调试器进行通信。

安装 DAVE

  1. 前往英飞凌的DAVE软件下载页面

  2. 选择适用于您的操作系统的DAVE软件包并提交您的注册信息。注册到 Infineon 之后,您应收到确认电子邮件,其中包括下载 .zip 文件的链接。

  3. 下载DAVE软件包.zip 文件 (DAVE_version_os_date.zip),然后将其解压缩到要安装的位置DAVE(例如,C:\DAVE4)。

    注意

    一些 Windows 用户报告在使用 Windows 资源管理器解压缩文件时遇到问题。我们建议您使用第三方程序,如 7-Zip。

  4. 要启动DAVE,请运行在解压缩DAVE_version_os_date.zip的文件夹中找到的可执行文件。

有关更多信息,请参阅《DAVE快速入门指南》

要与 XMC48 00 Relax Ether CAT 主板的板载调试探器进行通信,你需要 J-Link 软件和文档包中包含的驱动程序。您可以从 Segger 的 J-Link 软件下载页面下载 J-Link Software and Documentation Pack。

建立串行连接

设置串行连接是可选的,但建议设置。通过串行连接,您的主板使用可在开发计算机上查看的格式,发送日志记录和调试信息。

XMC4800 演示应用程序在引脚 P0.0 和 P0.1 上使用UART串行连接,这些引脚标在 XMC48 00 Relax Ether CAT 主板的丝网印刷上。要设置串行连接,请执行以下操作:

  1. 将标有 “RX<P0.0” 的引脚连接到 USB /Serial 转换器的 “TX” 引脚上。

  2. 将标有 “TX>P0.1” 的引脚连接到 USB /Serial 转换器的 “RX” 引脚。

  3. 将串行转换器的接地引脚连接到主板上标有 “GND” 的引脚之一。设备必须共享一个公用接地。

电源由USB调试端口供电,因此请勿将串行适配器的正电压引脚连接到主板。

注意

一些串行电缆使用 5V 信号电平。XMC4800 主板和 Wi-Fi Click 模块需要 3.3V 电压。请勿使用电路板的IOREF跳线将电路板的信号更改为 5V。

连接电缆后,可以在终端仿真器(例如 Sc GNUre en)上打开串行连接。默认情况下,波特率设置为 115200,8 个数据位,无奇偶校验,1 个停止位。

监控云端MQTT消息

在运行免费RTOS演示版之前,您可以在 AWS IoT 控制台中设置MQTT客户端,以监控您的设备发送到 AWS 云端的消息。

向 AWS IoT MQTT客户订阅该MQTT主题
  1. 登录 AWS IoT 控制台

  2. 在导航窗格中,选择 “测试”,然后选择 “MQTT测试客户端” 以打开MQTT客户端。

  3. Subscription topic (订阅主题)中,输入 your-thing-name/example/topic,然后选择 Subscribe to topic (订阅主题)

当演示项目在您的设备上成功运行时,您会多次看到“Hello World!” 发送到您订阅的主题。

构建并运行免费RTOS演示项目

将免费演RTOS示版导入 DAVE

  1. 启动 DAVE。

  2. 在 DAVE 中,依次选择 File (文件)Import (导入)在 “导入” 窗口中,展开 Infineon 文件夹,选择 “DAVE项目”,然后选择 “下一步”。

  3. 在 “导入DAVE项目” 窗口中,选择 “选择根目录”,选择 “浏览”,然后选择 XMC48 00 演示项目。

    在您解压缩免费RTOS下载内容的目录中,演示项目位于。projects/infineon/xmc4800_iotkit/dave4/aws_demos

    确保 Copy Projects Into Workspace (将项目复制到工作区) 处于未选中状态。

  4. 选择完成

    aws_demos 项目应导入到工作区中并且激活。

  5. Project (项目) 菜单,选择 Build Active Project (生成活动项目)

    确保项目生成,没有错误。

运行免费RTOS演示项目

  1. 使用USB电缆将 XMC48 00 IoT 连接套件连接到计算机。该电路板有两个微型USB连接器。使用标记为“X101”的一个,旁边的主板上印刷字样显示“Debug”。

  2. Project (项目) 菜单,选择 Rebuild Active Project (重新生成活动项目) 以重新生成 aws_demos 并确保接受您的配置更改。

  3. 在 “项目资源管理器” 中,右键单击aws_demos,选择 “调试方式”,然后选择 “DAVEC/C++ 应用程序”。

  4. 双击 GDBSEGGERJ-Link 调试以创建调试确认。选择 Debug (调试)

  5. 当调试器在 main() 中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)

在 AWS IoT 控制台中,步骤 4-5 中的MQTT客户端应显示您的设备发送的MQTT消息。如果你使用串行连接,你会在UART输出中看到类似这样的内容:

0 0 [Tmr Svc] Starting key provisioning... 1 1 [Tmr Svc] Write root certificate... 2 4 [Tmr Svc] Write device private key... 3 82 [Tmr Svc] Write device certificate... 4 86 [Tmr Svc] Key provisioning done... 5 291 [Tmr Svc] Wi-Fi module initialized. Connecting to AP... .6 8046 [Tmr Svc] Wi-Fi Connected to AP. Creating tasks which use network... 7 8058 [Tmr Svc] IP Address acquired [IP Address] 8 8058 [Tmr Svc] Creating MQTT Echo Task... 9 8059 [MQTTEcho] MQTT echo attempting to connect to [MQTT Broker]. ...10 23010 [MQTTEcho] MQTT echo connected. 11 23010 [MQTTEcho] MQTT echo test echoing task created. .12 26011 [MQTTEcho] MQTT Echo demo subscribed to iotdemo/# 13 29012 [MQTTEcho] Echo successfully published 'Hello World 0' .14 32096 [Echoing] Message returned with ACK: 'Hello World 0 ACK' .15 37013 [MQTTEcho] Echo successfully published 'Hello World 1' 16 40080 [Echoing] Message returned with ACK: 'Hello World 1 ACK' .17 45014 [MQTTEcho] Echo successfully published 'Hello World 2' .18 48091 [Echoing] Message returned with ACK: 'Hello World 2 ACK' .19 53015 [MQTTEcho] Echo successfully published 'Hello World 3' .20 56087 [Echoing] Message returned with ACK: 'Hello World 3 ACK' .21 61016 [MQTTEcho] Echo successfully published 'Hello World 4' 22 64083 [Echoing] Message returned with ACK: 'Hello World 4 ACK' .23 69017 [MQTTEcho] Echo successfully published 'Hello World 5' .24 72091 [Echoing] Message returned with ACK: 'Hello World 5 ACK' .25 77018 [MQTTEcho] Echo successfully published 'Hello World 6' 26 80085 [Echoing] Message returned with ACK: 'Hello World 6 ACK' .27 85019 [MQTTEcho] Echo successfully published 'Hello World 7' .28 88086 [Echoing] Message returned with ACK: 'Hello World 7 ACK' .29 93020 [MQTTEcho] Echo successfully published 'Hello World 8' .30 96088 [Echoing] Message returned with ACK: 'Hello World 8 ACK' .31 101021 [MQTTEcho] Echo successfully published 'Hello World 9' 32 104102 [Echoing] Message returned with ACK: 'Hello World 9 ACK' .33 109022 [MQTTEcho] Echo successfully published 'Hello World 10' .34 112047 [Echoing] Message returned with ACK: 'Hello World 10 ACK' .35 117023 [MQTTEcho] Echo successfully published 'Hello World 11' 36 120089 [Echoing] Message returned with ACK: 'Hello World 11 ACK' .37 122068 [MQTTEcho] MQTT echo demo finished. 38 122068 [MQTTEcho] ----Demo finished----

使用以下方法构建免费RTOS演示 CMake

如果您不想使用 for Free RTOS 开发,也可以使用CMake来构建和运行演示应用程序或使用第三方代码编辑器和调试工具开发的应用程序。IDE

注意

本节介绍如何CMake在 Windows 上使用 minGW 作为原生构建系统。有关与其他操作系统和选项CMake一起使用的更多信息,请参阅将 CMake 与 FreeRTOS 配合使用。(MinGW 是一个适用于本机 Microsoft Windows 应用程序的简约开发环境。)

使用以下方法构建免费RTOS演示 CMake
  1. 设置 GNU Arm 嵌入式工具链。

    1. Arm 嵌入式工具链下载页面下载工具链的 Windows 版本。

      注意

      我们建议您下载“8-2018-q4-major”之外的版本,因为在该版本中使用“objcopy”实用程序方面存在错误

    2. 打开下载的工具链安装程序,按照安装向导中的说明安装工具链。

      重要

      在安装向导的最后一个页面上,选择 Add path to environment variable (将路径添加到环境变量) 以将工具链路径添加到系统路径环境变量。

  2. 安装CMake并使用 minW。

    有关说明,请参阅CMake先决条件

  3. 创建一个包含生成的构建文件的文件夹 (build-folder).

  4. 将目录更改为免费RTOS下载目录 (freertos),然后使用以下命令生成构建文件:

    cmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -B build-folder -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
  5. 将目录更改为构建目录 (build-folder),然后使用以下命令来生成二进制文件:

    cmake --build . --parallel 8

    此命令会在构建目录中构建输出二进制文件 aws_demos.hex

  6. 闪存并使用运行映像JLINK

    1. 从构建目录中 (build-folder),使用以下命令创建 Flash 脚本:

      echo loadfile aws_demos.hex > flash.jlink
      echo r >> flash.jlink
      echo g >> flash.jlink
      echo q >> flash.jlink
    2. 使用JLNIK可执行文件刷新镜像。

      JLINK_PATH\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlink

      通过您与主板建立的串行连接应该可以看到应用程序日志。

问题排查

如果您还没有,请务必配置 AWS IoT 并免费RTOS下载以将您的设备连接到 AWS 云端。有关说明,请参阅初始步骤

有关免费版入门的一般疑难解答信息RTOS,请参阅问题排查入门