首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为ARM cortex M4的多个应用程序创建共享库

为ARM Cortex-M4微控制器的多个应用程序创建共享库是一个复杂但非常有用的任务,它可以提高代码的重用性和维护性。以下是关于这个问题的详细解答:

基础概念

共享库(Shared Library): 共享库是一种可重用的代码库,多个应用程序可以同时链接和使用它。与静态库不同,共享库在运行时被加载到内存中,并且可以被多个进程共享,从而节省内存空间。

ARM Cortex-M4: ARM Cortex-M4是一款32位微控制器,广泛应用于嵌入式系统中。它具有高性能的ARM Cortex-M4内核,支持DSP指令集和浮点运算。

相关优势

  1. 代码重用:减少重复代码,提高开发效率。
  2. 模块化设计:便于管理和维护。
  3. 节省内存:多个应用程序可以共享同一份库代码,减少内存占用。
  4. 易于更新:只需更新共享库,所有依赖它的应用程序都会受益。

类型

  1. 动态链接库(DLL):在运行时加载,适用于Windows平台。
  2. 共享对象(SO):在Linux和Unix系统中使用。
  3. 静态库(Static Library):编译时链接,不适用于共享库的概念,但可以作为共享库的基础。

应用场景

  1. 嵌入式系统:如智能家居设备、工业自动化控制系统等。
  2. 物联网设备:需要高效利用资源的环境。
  3. 实时操作系统(RTOS):如FreeRTOS、μC/OS-II等。

创建共享库的步骤

1. 编写库代码

假设我们有一个简单的数学函数库,包含加法和乘法函数。

代码语言:txt
复制
// math_lib.c
#include "math_lib.h"

int add(int a, int b) {
    return a + b;
}

int multiply(int a, int b) {
    return a * b;
}
代码语言:txt
复制
// math_lib.h
#ifndef MATH_LIB_H
#define MATH_LIB_H

int add(int a, int b);
int multiply(int a, int b);

#endif // MATH_LIB_H

2. 编译库代码为对象文件

使用ARM GCC编译器编译源代码为对象文件。

代码语言:txt
复制
arm-none-eabi-gcc -c math_lib.c -o math_lib.o

3. 创建共享库

将对象文件打包成共享库。

代码语言:txt
复制
arm-none-eabi-ar rcs libmath.a math_lib.o

4. 在应用程序中使用共享库

假设我们有一个应用程序app.c需要使用这个库。

代码语言:txt
复制
// app.c
#include "math_lib.h"
#include <stdio.h>

int main() {
    int result = add(5, 3);
    printf("Result: %d\n", result);
    return 0;
}

编译应用程序并链接共享库:

代码语言:txt
复制
arm-none-eabi-gcc app.c -L. -lmath -o app

遇到的问题及解决方法

1. 库路径问题

问题:链接器找不到共享库。

解决方法

  • 确保库文件在链接器的搜索路径中。
  • 使用-L选项指定库路径。

2. 符号未定义

问题:链接时出现未定义符号错误。

解决方法

  • 检查库文件是否正确编译。
  • 确保头文件和库文件匹配。

3. 内存冲突

问题:多个应用程序共享库时可能出现内存冲突。

解决方法

  • 使用内存保护机制,如MMU(内存管理单元)。
  • 确保库代码是线程安全的。

示例代码

以下是一个完整的示例,展示了如何创建和使用共享库:

库代码

代码语言:txt
复制
// math_lib.c
#include "math_lib.h"

int add(int a, int b) {
    return a + b;
}

int multiply(int a, int b) {
    return a * b;
}
代码语言:txt
复制
// math_lib.h
#ifndef MATH_LIB_H
#define MATH_LIB_H

int add(int a, int b);
int multiply(int a, int b);

#endif // MATH_LIB_H

应用程序代码

代码语言:txt
复制
// app.c
#include "math_lib.h"
#include <stdio.h>

int main() {
    int result = add(5, 3);
    printf("Result: %d\n", result);
    return 0;
}

编译和链接命令

代码语言:txt
复制
# 编译库代码
arm-none-eabi-gcc -c math_lib.c -o math_lib.o

# 创建共享库
arm-none-eabi-ar rcs libmath.a math_lib.o

# 编译应用程序并链接共享库
arm-none-eabi-gcc app.c -L. -lmath -o app

通过以上步骤,你可以成功地为ARM Cortex-M4微控制器创建和使用共享库。

相关搜索:如何共享我为2sxc创建的应用程序为单个应用程序创建和使用多个数据库为多个应用程序创建一个中央sqflite数据库为共享相同存储库99%的移动应用程序推荐的部署策略?在单库中的多个应用程序之间共享组件时,如何处理共享依赖关系XCFramework创建错误:库-arm64_armv7中的CodingKeys(stringValue:"SupportedPlatform",intValue: nil)为空为多个存储库创建jenkins作业并触发特定存储库的脚本化管道使用相同的firebase实时数据库创建多个不同的应用程序在gitlab中为单个bitbucket存储库的多个项目创建cic cd管道我将如何托管多个spring boot web应用程序,这些应用程序与Heroku共享相同的Mysql数据库?如何使用本地数据库为我的Flutter应用程序创建fabourite按钮?如何使用共享数据库将多个闪亮的应用程序集成到一个网站中?尝试为Scala中Play web应用程序的Slick数据库创建单元测试如何在C#中以编程方式创建SQL Server数据库-为每个项目创建新SQL Server数据库的项目管理应用程序Terraform和OCI :在创建多个数据库时,ID为<OCID>的现有数据库系统具有冲突的更新状态我已经为我的后端ASP.NET核心web应用程序接口创建了一个本地主机的SSL/TLS证书,我可以与我的前端Angular应用程序共享它吗?使用Thymeleaf动态创建多个Bootstrap行以将数据库中的所有产品显示到我的web应用程序时出现问题我已经在heroku上创建了一个带有github自动部署的nodeJS应用程序。现在,我想将该存储库设置为私有的,最初它是公共的
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

Apollo2单片机的M4矢量表: Cortex-M4允许用户根据应用程序的要求将各种中断分配到不同的优先级级别。在apollo2 mcu实现中,有8种不同的优先级。...M4中断架构的另一个特性是能够将向量表重新定位到一个不同的地址。如果应用程序的特定模式需要一组不同的中断服务例程,那么这可能很有用。...如下所示,硬件中断在MCU中分配给M4 NVIC。 三、内存映射 ARM为基于ARM v7-M架构的设备提供了定义良好的内存映射。M4进一步细化了外围设备和系统地址范围的地图。...▪独立的进程。 ▪强制执行访问规则。 五、系统总线 ARM Cortex-M4利用AMBA AHB总线的3个实例与存储器和外设通信。...6.1.1  活动模式 在Active模式下,M4被上电,时钟被激活,指令被执行。在这种模式下,M4期望连接到AHB和APB的所有(启用的)设备为正常访问供电和时钟。

1.1K10

STM32WB-双核无线多协议MCU

无线STM32WB MCU基于两个独立的内核(以64 MHz运行的Arm® Cortex®‐M4内核(应用处理器)和以32 MHz运行的Arm® Cortex®‐M0+内核(网络处理器)),可以提高无线电协议栈的实时执行效率...支持 1 Mbps 和 2 Mbps 的传输速率。 支持多个角色的同时运行,即可以同时作为蓝牙低功耗传感器和中心设备(hub device)。...就是支持这三个 封装不是非常的灵活,但是储存空间都不小 这个可就太贵了 STM32WBx5无线微控制器基于以64 MHz运行的Arm® Cortex®-M4内核(应用处理器)和以32 MHz运行的Arm...在文档里面有详细的论述 该协议栈存储在嵌入式闪存中,该闪存同时也被 Arm® Cortex®-M4(CPU1) 应用程序使用。这意味着可以通过现场 更新的方式对协议栈进行升级,而无需更改硬件。...Cortex®-M4 核心功耗:即使在同时运行无线电和应用核心的情况下,Cortex®-M4 核心的功耗也仅为 53 µA/MHz,在活动模式下非常高效。

7110
  • apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

    Apollo2单片机的M4矢量表: Cortex-M4允许用户根据应用程序的要求将各种中断分配到不同的优先级级别。在apollo2 mcu实现中,有8种不同的优先级。...M4中断架构的另一个特性是能够将向量表重新定位到一个不同的地址。如果应用程序的特定模式需要一组不同的中断服务例程,那么这可能很有用。...如下所示,硬件中断在MCU中分配给M4 NVIC。 三、内存映射 ARM为基于ARM v7-M架构的设备提供了定义良好的内存映射。M4进一步细化了外围设备和系统地址范围的地图。...▪独立的进程。 ▪强制执行访问规则。 五、系统总线 ARM Cortex-M4利用AMBA AHB总线的3个实例与存储器和外设通信。...6.1.1 活动模式 在Active模式下,M4被上电,时钟被激活,指令被执行。在这种模式下,M4期望连接到AHB和APB的所有(启用的)设备为正常访问供电和时钟。

    1.2K20

    【STM32F429】第3章 RTX5操作系统介绍

    第3章 RTX5操作系统介绍 本章节介绍一下RTX5操作系统,让大家对RTX5有一个整体的了解,RTX5是开源免费的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。...零中断延迟 这里的零中断延迟是指ISR的中断相应时间和没有使用RTX5系统是一样的,也就是说用于Cortex-M3/M4/M7的RTX5内核库中没有关闭中断的操作,这点应该算是RTX5一个很大的优势,像...您的应用程序可以依赖于一致且已知的进程计时。 专为嵌入式系统而设计 – RTX5 是专门为基于 ARM 和 Cortex-M MCU 的嵌入式系统而编写的。...超级循环和ISR之间的数据交换是通过全局共享变量进行的: 应用程序的程序员必须确保数据一致性。...确定性的行为 - 在定义的时间内处理事件和中断。 更短的 ISR - 实现更加确定的中断行为。 任务间通信 - 管理多个任务之间的数据、内存和硬件资源共享。

    1.6K20

    【STM32H7】第3章 RTX5操作系统介绍

    以低的中断延迟执行高速实时操作(对于M3/M4/M7内核可以实现零中断延迟)。 小的空间占用适用于资源受限的系统。 不限制数量的信号量,互斥信号量,消息邮箱和软定时器。...零中断延迟 这里的零中断延迟是指ISR的中断相应时间和没有使用RTX5系统是一样的,也就是说用于Cortex-M3/M4/M7的RTX5内核库中没有关闭中断的操作,这点应该算是RTX5一个很大的优势,像...您的应用程序可以依赖于一致且已知的进程计时。 专为嵌入式系统而设计 – RTX5 是专门为基于 ARM 和 Cortex-M MCU 的嵌入式系统而编写的。...超级循环和ISR之间的数据交换是通过全局共享变量进行的: 应用程序的程序员必须确保数据一致性。...确定性的行为 - 在定义的时间内处理事件和中断。 更短的 ISR - 实现更加确定的中断行为。 任务间通信 - 管理多个任务之间的数据、内存和硬件资源共享。

    72830

    【STM32F407】第3章 RTX5操作系统介绍

    以低的中断延迟执行高速实时操作(对于M3/M4/M7内核可以实现零中断延迟)。 小的空间占用适用于资源受限的系统。 不限制数量的信号量,互斥信号量,消息邮箱和软定时器。...零中断延迟 这里的零中断延迟是指ISR的中断相应时间和没有使用RTX5系统是一样的,也就是说用于Cortex-M3/M4/M7的RTX5内核库中没有关闭中断的操作,这点应该算是RTX5一个很大的优势,像...您的应用程序可以依赖于一致且已知的进程计时。 专为嵌入式系统而设计 – RTX5 是专门为基于 ARM 和 Cortex-M MCU 的嵌入式系统而编写的。...超级循环和ISR之间的数据交换是通过全局共享变量进行的: 应用程序的程序员必须确保数据一致性。...确定性的行为 - 在定义的时间内处理事件和中断。 更短的 ISR - 实现更加确定的中断行为。 任务间通信 - 管理多个任务之间的数据、内存和硬件资源共享。

    74910

    stm32编程入门教程_零基础编程入门书籍

    ARM Cortex™-A ARM Cortex™-A 系列应用型处理器可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、...高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A7和Cortex-A5处理器均共享同一架构,因此具有完全的应用兼容性,支持传统的...ARM Cortex-R ARM Cortex-R实时处理器为要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。...从上图可知,STM32开发了基于M0、M4、M7以及A7四种内核的MCU产品。 为什么ARM Cortex-M的内核要划分出这么多的型号呢?主要是针对不同的应用领域,下图是官方给出的区别。...上图囊括了ARM公司所有Cortex-M内核,ST意法公司选择了M0、M4、M7以及A7研发了MCU产品,图中的内容精简为一句话:数字越大,性能越高。

    71420

    【STM32F407】第9章 RTX5任务运行在特权级或非特权级模式

    对于使用Cortex-M3/M4/M7内核的芯片来说,RTX操作系统可以让任务运行在特权级或者非特权级模式,这两种模式是Cortex-M3/M4/M7内核本身所具有的特性。...9.2.3 Cortex-M3/M4/M7内核如何切换两种模式 Cortex-M3/M4/M7中的特殊功能寄存器包括: 程序状态寄存器组(PSRs或曰xPSR) 中断屏蔽寄存器组(PRIMASK...深入了解Cortex-M3/M4/M7内核的特权等级就不得不说说两种操作模式,Cortex-M3/M4支持两种操作模式,两种操作模式分别是: Handler mode,中断模式,简单的说就是指的异常服务程序是处在中断模式...Thread mode,线程模式,简单的说就是异常服务程序以外的程序都是处在线程模式。 Cortex-M3/M4内核实现这两种操作的目的就是区分普通应用程序的代码和异常服务程序。...另外,如果还配有MPU,保护力度就更大,甚至可以阻止用户代码访问不属于它的内存区域。 为了避免系统堆栈因应用程序的错误使用而毁坏,我们可以给应用程序专门配一个堆栈,不让它共享操作系统内核的堆栈。

    1.3K20

    M内核迎来大BOSS,ARM发布Cortex-M55配NPU Ethos-U55 ,带来无与伦比的性能提升

    先回顾下去年的消息: 1、去年年初的时候ARM发布Armv8.1-M架构,增加了Arm Helium技术。...该技术用于Cortex-M内核的M-Profile矢量扩展,为其提供高达15倍的机器学习性能和高达5倍的信号处理能力,这样一来,我们可以继续使用M内核芯片,而无需采用更高性能的处理器架构。...2、最新的CMSIS软件包V5.6.0正式带来Armv8.1-M内核支持,为DSP库f32函数增加NEON指令支持。...ARM于昨天正式发布Cortex-M55内核,基于Armv8.1-M架构,并且推出微神经网络内核Ethos-U55,专门用于配套M55,M33,M7和M4。 ? ?...M55与M7,M33,M4的DSP性能对比,速度提升杠杠的,灰色是M55,越高性能越强: ? 下面再来看下微神经网络内核Ethos-U55。

    1.2K30

    【STM32F407的DSP教程】第1章 初学数字信号处理准备工作

    1.1 初学者重要提示 1.2 STM32F4的DSP功能介绍 1.3 Cortex-M4内核的DSP和专业DSP的区别 1.4 ARM提供的CMSIS-DSP库 1.5 TI提供的32位定点DSP库IQmath...下面是Cortex-M3,M4和M7的指令集爆炸图: 通过这个图,我们可以了解到以下几点:   M4和M7系列有相同的DSP指令集。   M7相比M4系列要多一些浮点指令集。  ...不同M内核的DSP性能比较:   Cortex-M7内核的DSP性能最强。   Cortex-M3,M4和M33是中等性能,其中M3最弱。   Cortex-M0,M0+和M23性能最弱。...1.3   Cortex-M4内核的DSP和专业DSP的区别 M核的DSP处理单元与专业DSP的区别: 1.4   ARM提供的CMSIS-DSP库 为了方便用户实现DSP功能,ARM专门做一个DSP库...1.6   ARM DSP软件替代模拟器件的优势 我们日常生活中用到DSP的地方很多,以生活中的设备为例: 通过ARM DSP软件替换模拟组件可以降低成本,PCB的面积和设计时间,同时提高灵活性和适应性

    1.8K20

    【STM32F429的DSP教程】第1章 初学数字信号处理准备工作

    1.1 初学者重要提示 1.2 STM32F4的DSP功能介绍 1.3 Cortex-M4内核的DSP和专业DSP的区别 1.4 ARM提供的CMSIS-DSP库 1.5 TI提供的32位定点DSP库IQmath...下面是Cortex-M3,M4和M7的指令集爆炸图: 通过这个图,我们可以了解到以下几点:   M4和M7系列有相同的DSP指令集。   M7相比M4系列要多一些浮点指令集。  ...不同M内核的DSP性能比较:   Cortex-M7内核的DSP性能最强。   Cortex-M3,M4和M33是中等性能,其中M3最弱。   Cortex-M0,M0+和M23性能最弱。...1.3   Cortex-M4内核的DSP和专业DSP的区别 M核的DSP处理单元与专业DSP的区别: 1.4   ARM提供的CMSIS-DSP库 为了方便用户实现DSP功能,ARM专门做一个DSP库...1.6   ARM DSP软件替代模拟器件的优势 我们日常生活中用到DSP的地方很多,以生活中的设备为例: 通过ARM DSP软件替换模拟组件可以降低成本,PCB的面积和设计时间,同时提高灵活性和适应性

    74530

    mdk平台下,cm3内核单片机使用event recorder,测试函数运行时间及printf打印

    提升应用程序动态执行期间的检测能力。 2. 支持的事件类型滤除机制,比如运行错误,API 调用,内部操作和操作信息的区分。 3. 可以在任务中,RTOS 内核中和中断服务程序中任意调用。 4....对于带 ITM 功能的 Cortex-M3/M4/M7/M33 内核芯片,执行记录期间,全程无需开关中断操作。 对于不带 ITM 功能的 Cortex-M0/M0+/M23,是需要开关中断的。...对于带 DWT 时钟周期计数器功能的 Cortex-M3/M4/M7/M33 内核芯片,创建时间戳时,可以有效 降低系统负担,无需专用定时器来实现。 8....============================================摘录自安富莱电子 1、最好使用比较新的cmsis库,否则添加event recorder将无法编译通过 2、rte...具体可以看arm官网,教程比较详细。,这里仅仅是小结一下。

    82610

    嵌入式:ARM相关开发工具概述

    配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A4/A8/A9等内核芯片的仿真...支持CPUs: Any ARM7/9/11, Cortex-A5/A8/A9, Cortex-M0/M1/M3/M4, Cortex-R4, RX610, RX621, RX62N, RX62T, RX630...用户可以使用ADS 的CodeWarrior IDE 为ARM 和Thumb 处理器开发用C,C++,或ARM汇编语言的程序代码。...格式的目标文件库; Empty Project :用于创建一个不包含任何库或源文件的工程; Makefile Importer Wizard :用于将Visual C 的nmake 或 GNU make...Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件; Thumb Object Library :用于由Thumb 指令的代码生成一个armar 格式的目标文件库

    1.8K30

    【STM32H7的DSP教程】第1章 初学数字信号处理准备工作

    1.1 初学者重要提示 1.2 STM32H7的DSP功能介绍 1.3 Cortex-M7内核的DSP和专业DSP的区别 1.4 ARM提供的CMSIS-DSP库 1.5 TI提供的32位定点DSP库IQmath...下面是Cortex-M3,M4和M7的指令集爆炸图: 通过这个图,我们可以了解到以下几点:   M4和M7系列有相同的DSP指令集。   M7相比M4系列要多一些浮点指令集。  ...不同M内核的DSP性能比较:   Cortex-M7内核的DSP性能最强。   Cortex-M3,M4和M33是中等性能,其中M3最弱。   Cortex-M0,M0+和M23性能最弱。...1.3   Cortex-M7内核的DSP和专业DSP的区别 M核的DSP处理单元与专业DSP的区别: 1.4   ARM提供的CMSIS-DSP库 为了方便用户实现DSP功能,ARM专门做了一个DSP...1.6   ARM DSP软件替代模拟器件的优势 我们日常生活中用到DSP的地方很多,以生活中的设备为例: 通过ARM DSP软件替换模拟组件可以降低成本,PCB的面积和设计时间,同时提高灵活性和适应性

    2.4K20

    ARM概念区分

    ARM7没有MMU单元也就没有办法为多用户多进程分配进程自己的地址空间,所以ARM7无法运行Linux这种多用户多进程操作系统,而ARM9、ARM11带有MMU内存管理单元。...Cortex、M4、M7: 也是内核名称,只不过在ARMv7架构之后都以Cortex来命名。M4、M7是属于Cortex-M系列的内核,此外还有M0,他们的主频和功耗不同。...MPU: 微处理器,可以理解为功能更强大的CPU,但它不是控制器。 SOC: 片上系统,在单个芯片上集成一个完整的计算机系统,属于系统级芯片,功能要比MCU强大。...CMSIS: Cortex Microcontroller Software Tnterface Standard, ARM微控制器软件接口标准。ARM公司只提供芯片标准,负责芯片内核的架构设计。...而具体由TI、ST等公司根据ARM内核标准来设计芯片。例如不同公司的M4芯片,他们只是存储器、片上外设IO等不同,但他们的内核都是一样的。

    13110

    简单粗暴解读Cortex-M2333(上)

    自从Arm在2016年的十月发布两款Armv8-M架构的新处理器Cortex-M23和Cortex-M33以来,已经过去了3年多,而市面上基于这两款处理器的微控制器产品也刚刚才崭露头角。...有人说,Armv8-M的主要功能就是为Cortex-M家族引入TrustZone,这么看来也是不无道理的。...注:图片来自ARM官网 Cortex-M23从定位上也非常直接,就是给Cortex-M0/M0+增加个安全扩展。...增强版的Cortex-M3/M4 相对Cortex-M3/M4来说,Cortex-M33在性能上有了提升并不是什么意料之外的事情,不提也罢。...ARMv8-M是个知错就改的好少年 我不知道有多少人真正用过Armv7-M,也就是Cortex-M3/M4的MPU——简单说就是个以Region为单位来修改Memory属性的系统级外设

    2.2K10

    ISSCC 2020: CEA Chiplets, Samsung and MTK 5G

    三星将Arm 许可的CPU 用于三个集群中的两个,但性能最高的CPU 是由三星根据Arm 的架构许可自己设计的,即两个M4, M4 具有3M 单独的L3 Cache,其性能对标Intel i5. ?...Source: ISSCC 中核是Arm Cortex-A75, 小核是Cortex-A55, Cortex-A55 与M4 之间的功耗性能差距太大,所以增加了Cortex-A75 以弥合这一差距。...Source: ISSCC 联发科5G SOC 的CPU 架构被称为『双齿轮设计』采用正统的Arm big.LITTLE 方案,大核是Cortex-A77, 小核是Cortex-A55, 为了弥合A55...所以三星只有两个高性能M4, 而联发科则有四个A77, 四个A77 和四个A55 内核共享一个2M L3 Cache. ?...借助FLL电路,能够将Vmin 提高约35mV, 节省了约10%的功耗。 联发科还用Gateway TAP 为芯片构建了一种新颖的JTAG 解决方案,用于Hierarchical 测试。 ?

    1.5K00

    Nordic-nRF52840环境搭建及学习

    nRF52840 SoC是nRF52系列中最先进的成员。它可以应对需要协议并发性和丰富多样的外围设备和功能的复杂应用程序的挑战。...它为闪存和 RAM 提供了充足的内存可用性,这是此类要求苛刻的应用程序的先决条件。 nRF52840围绕32位ARM® Cortex™-M4 CPU构建,带有以64MHz运行的浮点单元。...Nordic nRF52840资源说明 64MHz ARM® Cortex™-M4 with FPU 1MB Flash, 256KB RAM 2Mbps, 2Mbps, Long Range Bluetooth...for ARM 安装包和破解软件自行找度娘 安装nRF52840所需要的的PACK nRF_DeviceFamilyPack PACK版本是根据SDK的版本不同而不同,16.0.0版本的SDK需要PACK...实际官网也没有这个版本,直接点击“否” 进行工程配置,点击如下图按钮: 配置如下图红框的内容,版本为8.38.0 配置完,进行编译。

    1.8K20
    领券