协议栈烧录问题

第一个是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的高地址区域

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

相关推荐
崇山峻岭之间10 小时前
单片机LCD实验
单片机·嵌入式硬件
m0_3771081410 小时前
STM32-adc
stm32·单片机·嵌入式硬件
【云轩】12 小时前
如何设计一台能模拟电机的电子负载:一个硬件工程师的实战笔记
笔记·嵌入式硬件
SmartRadio12 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
Jason_zhao_MR14 小时前
纳秒级抖动×24小时零丢帧:RK3576工业级EtherCAT主站全拆解
大数据·人工智能·单片机·嵌入式
Deitymoon16 小时前
FreeRTOS——中断实验
stm32·单片机
嵌入式×边缘AI:打怪升级日志16 小时前
# 超声波测距 — HC-SR04 + 定时器输入捕获
单片机·定时器·超声波
yugi98783816 小时前
STM32 串口计算器实现
stm32·单片机·嵌入式硬件
狂奔v蜗牛17 小时前
压敏电阻的使用
嵌入式硬件
科芯创展17 小时前
XZ4115B工作电压6-40V 输出电流1.2A 降压恒流LED驱动芯片
stm32·单片机·嵌入式硬件