协议栈烧录问题

第一个是nrf52840_xxaa是项目程序,第二个flash_s140_nrf52_7.2.0_softdevice是协议栈。

协议栈(SoftDevice)只需要烧录一次,之后更新应用程序时不需要再重新烧录它。

断电后不需要重新烧录协议栈,只要芯片没有被整片擦除,协议栈会一直保留在 Flash 中。

协议栈(SoftDevice)到底是什么?

SoftDevice 是 Nordic 半导体为 nRF5 系列芯片提供的预编译蓝牙协议栈二进制文件,它运行在芯片的 Flash 低地址区域(例如从 0x0 开始)。它负责:

  • 蓝牙 LE 协议的底层实现(链路层、HCI、GAP、GATT 等)

  • 射频硬件的驱动和管理

  • 中断处理、时间片调度、安全连接等功能

你的应用程序 运行在 Flash 的高地址区域(例如从 0x26000 开始),通过 SoftDevice 提供的 API 函数(如 sd_ble_gap_adv_start)来使用蓝牙功能,而不需要自己实现复杂的蓝牙协议。

这种架构类似于计算机的操作系统(SoftDevice)与应用程序的关系:操作系统负责底层硬件管理,应用程序通过系统调用与之交互。

原理:协议栈与应用程序是分离的

Nordic的芯片采用双分区存储架构,可以理解为:

  • 协议栈(SoftDevice) :相当于电脑的"操作系统",安装在Flash的低地址区域

  • 应用程序 :相当于电脑的"应用软件",安装在Flash的高地址区域

这两个区域在烧录时是独立且互不覆盖的。只要不执行整片擦除,协议栈就会一直保留在芯片里。

相关推荐
发发就是发17 分钟前
I2C适配器与算法:从一次诡异的时序问题说起
服务器·驱动开发·单片机·嵌入式硬件·算法·fpga开发
阿凉070217 分钟前
STM32 Flash 扇区分布学习
stm32·嵌入式硬件·学习
qq_429499571 小时前
STM32C011
stm32·单片机·嵌入式硬件
不怕犯错,就怕不做1 小时前
(Hisilicon)笔试题:嵌入式Linux C语言GPIO中断与按键消抖(转载)
linux·驱动开发·嵌入式硬件
Jason_zhao_MR1 小时前
STM32MP135F安全芯引入!米尔MYD-YF13X系统、安全、功能三重升级
stm32·嵌入式硬件·安全·嵌入式
电子科技圈3 小时前
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
人工智能·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
疏星浅月11 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
Aaron158815 小时前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程
blevoice15 小时前
JL杰理AC696N开发板常见问题FAQ-问题6:为什么提示“key 不匹配”?杰理的蓝牙芯片的key是什么?以及该如何添加key? 杰理key文件原理?
单片机·嵌入式硬件·物联网·jl杰理蓝牙音频芯片·ac696n·蓝牙音箱方案开发
编程之升级打怪15 小时前
常见电路的引脚代号
嵌入式硬件