马上注册,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
×
注意:从 nRF Connect SDK v1.7.0 开始,如果您为 thingy91_nrf9160_ns 或 thingy91_nrf52840 构建,本指南中的所有内容都已经自动完成。自该 SDK 版本发布以来,Thingy:91 的开发板文件包含本指南中所有步骤中的所有内容。
Thingy:91 是一个很好的平台,可以在上面开发 nRF9160 原型,或在现场测试 nRF9160。如果出厂时的默认应用程序没有按照您的要求运行,您可以使用外部编程器或引导加载程序将其他应用程序编程到它。Thingy:91 用户指南解释了如何使用外部编程器以及通过 USB 使用 DFU 对 Thingy:91 进行编程。但是,本指南假定您已经有兼容的 .hex 文件。在本指南中,我将解释如何修改您的项目,使其与 Thingy:91 上的 bootloader 兼容。在本指南中,我将使用 NCS v1.4.2 中的 nrf9160/gps 示例作为示例,但您可以使用任何可以在 Thingy:91 上运行的项目。 如果你已经从 Thingy:91 中删除了 bootloader(例如,通过使用外部编程器对没有 bootloader 的项目进行编程),你可以通过为 Thingy:91 构建和烧录 asset_tracker来恢复 bootloader,或者你可以使用其中一个预编译的应用程序。 我们需要采取三个步骤才能对我们的项目进行 DFU 升级: 1. 将 bootloader 添加到我们的项目中。 2. 添加正确的 bootloader 设置。 3. 添加静态 PM 配置。 1. 将 bootloader 添加到我们的项目中 NCS 使用 MCUBoot 引导加载程序,这也是 Thingy:91 上的内容。您可以在 MCUBoot 文档中阅读有关 MCUBoot 引导加载程序的更多信息。MCUBoot 希望 DFU 图像的格式正确,其标头包含有关图像的信息。创建 DFU 镜像最简单的方法是将 bootloader 添加到我们的项目中,构建系统会自动创建 DFU 镜像。 您可以通过将以下行添加到您的 prj.conf 文件中来将引导加载程序添加到您的项目中(对于 gps 示例,这是 <您的 NCS 安装>/nrf/samples/nrf9160/gps/prj.conf): 全屏1
CONFIG_BOOTLOADER_MCUBOOT=y
请注意,如果您使用 SES 构建项目,则必须运行“Project -> Run CMake...”或者重新打开项目以对项目文件(例如 prj.conf、CMakeLists.txt 或 overlay 文件)进行更改以使其生效。 添加此行将做两件事:它会将 bootloader 添加到您的项目中,因此 bootloader 也会被编译;并且会导致构建系统除了正常图像外,还输出 DFU 图像。您可以在 MCUBoot 文档中找到构建系统提供的不同映像及其用途的列表。 bootloader 将被添加到 merged.hex 中,但在这种情况下,我们对 DFU 镜像更感兴趣:app_signed.hex。
|