找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 105|回复: 0

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

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

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

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

×
2. 添加正确的 bootloader 设置
如果我们现在尝试对 DFU 映像进行编程,它不会工作,原因有两个:映像使用错误的算法签名,并且没有使用正确的 flash 分区方案。
让我们先处理第一个问题。
MCUBoot 支持 ECDSA 和 RSA 签名,在 nRF9160 上,它将默认使用 ECDSA 签名。但是,这会带来一些问题,如 MCUBoot 文档中所述。由于这些问题,Thingy:91 引导加载程序改用 RSA 签名。因此,我们必须配置 MCUBoot 以使用 RSA 对我们的 DFU 映像进行签名,以使其与 Thingy:91 上的引导加载程序兼容。
虽然我们可以通过多种方式更改 MCUBoot 配置,但最好的方法是添加一个 configuration overlay 文件。这样,我们就不必对 MCUBoot 进行任何更改,并且可以将所有修改保留在项目本地。
要制作配置叠加文件,请在项目目录中创建一个新文件(例如 nrf/samples/nrf9160/gps),并为其指定一个合适的名称,例如 mcuboot_overlay-rsa.conf。
配置覆盖文件将包含以下配置选项:

全屏
1
2





CONFIG_BOOT_SIGNATURE_TYPE_RSA=y
CONFIG_BOOT_SIGNATURE_KEY_FILE=“root-rsa-2048.pem”













注意:这会将 MCUBoot 配置为使用默认 RSA 密钥,以便它与出厂时 Thingy:91 上的引导加载程序兼容。它们只能用于开发。在 生产 中,您应该使用自己的密钥,这些密钥是保密的。有关更多信息,请参阅此处
这将得到以下文件:

5165.mcuboot_overlay-thingy91.conf
注意:DevZone 倾向于在文件名中添加数字以使其唯一。如果要使用此文件(不更改 CMakeLists.txt 文件中的名称),则必须从文件名中删除这些数字。
现在,我们需要将文件添加到我们的项目中。为此,我们可以将以下行添加到 CMakeLists.txt 文件中,就在 cmake_minimum_required 行的正下方:

全屏
1
2
3





list(APPEND mcuboot_OVERLAY_CONFIG
“${CMAKE_CURRENT_SOURCE_DIR}/mcuboot_overlay-thingy91.conf”
  )













如果您为配置叠加文件选择了不同的名称,或将其放置在其他位置,则必须相应地更改文件路径。
对于 gps 示例,CMakeLists.txt 文件现在应如下所示:

全屏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21





#
# 版权所有 (c) 2019 Nordic Semiconductor
#
# SPDX 许可证标识符:LicenseRef-BSD-5-Clause-Nordic
#

cmake_minimum_required(版本 3.13.1)

list(APPEND mcuboot_OVERLAY_CONFIG
“${CMAKE_CURRENT_SOURCE_DIR}/mcuboot_overlay-thingy91.conf”
  )

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
项目(gps_socket_sample)

zephyr_library_sources(src/main.c)

zephyr_library_sources_ifdef(
CONFIG_SUPL_CLIENT_LIB
来源:src/supl_support.c
)

















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

本版积分规则

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

GMT+8, 2025-4-30 21:28 , Processed in 0.753815 second(s), 13 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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