

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 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)。 FreeRTOS 

本指南是在您已執行 [Nordic nRF52840-DK 入門](getting_started_nordic.md)和[無線更新事前準備](https://docs.aws.amazon.com/freertos/latest/userguide/ota-prereqs.html)所述步驟的前提下撰寫而成。嘗試 OTA 更新之前，建議您執行 [ FreeRTOS 入門中所述的](https://docs.aws.amazon.com/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 nRF52840-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 更新。