

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

# 在 Nordic nRF52840 DK 上安装初始版本的固件
<a name="burn-initial-firmware-nordic"></a>

**重要**  <a name="deprecation-message"></a>
此参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时，我们建议[从此处开始](freertos-getting-started-modular.md)。如果您已经有一个基于现已 Amazon-FreeRTOS 弃用的存储库的 FreeRTOS 项目，请参阅。[Amazon-FreeRTOS Github 存储库迁移](github-repo-migration.md)

本指南假设您已经执行了[Nordic n 入门 RF52840-DK](getting_started_nordic.md)和[Over-the-Air 更新先决条件](https://docs.amazonaws.cn/freertos/latest/userguide/ota-prereqs.html)中的步骤。在尝试 OTA 更新之前，可能需要运行 [FreeRTOS 入门](https://docs.amazonaws.cn/freertos/latest/userguide/freertos-getting-started.html)中所述的 MQTT 演示项目，以确保主板和工具链设置正确。

**将初始出厂映像刷写到主板**

1. 打开 `{{freertos}}/vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/aws_demo_config.h`。

1. 将 `#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED` 替换为 `CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED` 或 `CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED`。

1. 使用所选的 OTA 更新演示，按照 [Nordic n 入门 RF52840-DK](getting_started_nordic.md)中概述的相同步骤，构建并刷写映像。

   您应该可以看到类似于如下所示的输出内容。

   ```
   9 1285 [OTA Task] [prvSubscribeToJobNotificationTopics] OK: $aws/things/{{your-thing-name}}/jobs/notify-next
   10 1286 [OTA Task] [OTA_CheckForUpdate] Request #0
   11 1289 [OTA Task] [prvParseJSONbyModel] Extracted parameter [ clientToken: 0:{{your-thing-name}} ]
   12 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: execution
   13 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: jobId
   14 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: jobDocument
   15 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: afr_ota
   16 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: streamname
   17 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: files
   18 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: filepath
   19 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: filesize
   20 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: fileid
   21 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: certfile
   22 1289 [OTA Task] [prvParseJSONbyModel] parameter not present: sig-sha256-ecdsa
   23 1289 [OTA Task] [prvParseJobDoc] Ignoring job without ID.
   24 1289 [OTA Task] [prvOTA_Close] Context->0x3ffbb4a8
   25 1290 [OTA] [OTA_AgentInit] Ready.
   26 1390 [OTA] State: Ready Received: 1 Queued: 1 Processed: 1 Dropped: 0
   27 1490 [OTA] State: Ready Received: 1 Queued: 1 Processed: 1 Dropped: 0
   28 1590 [OTA] State: Ready Received: 1 Queued: 1 Processed: 1 Dropped: 0
   29 1690 [OTA] State: Ready Received: 1 Queued: 1 Processed: 1 Dropped: 0
   ```

   您的主板此时正在侦听 OTA 更新。