找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 84|回复: 0

[Nordic] 转载:如何为您的 Thingy:91 项目添加 DFU 支持(一)

[复制链接]
连续签到天数:1天
签到总天数:13天
签到总奖励:59金币
发表于 2025-4-14 08:50:42 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
注意:从 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。


楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-4-30 22:58 , Processed in 0.219028 second(s), 14 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表