nRF5 SDK软件架构及softdevice工作原理
本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试。 如果你刚开始接触Nordic nRF5 SDK,建议先看一下这篇文章“ Nordic nRF5 SDK和softdevice介绍 ”,以建立nRF5 SDK的一些基本知识。 首先说明一下,Nordic nRF5系列产品都是使用Flash存储器的,确切说,是eFlash存储器,也就是说,代码是可以直接在上面运行的,这个跟很多其他BLE厂商是不一样的(他们使用的是nand Flash,代码是不能直接在nand Flash中运行的,必须先装载到RAM中才能跑,所以你会发现这些厂商的RAM都非常大)。Nordic Flash是带cache机制的,以保证大部分代码执行速度可以达到64MHz,在cache失败的时候,等待周期也只有1个cycle,可以说Flash的执行速度和效率都是非常不错的。另外,Nordic芯片是纯Flash产品,里面没有其他NVM,所有非易失性数据都放在Flash中,包括蓝牙协议栈,这也是为什么Nordic蓝牙协议栈也可以OTA的根本原因所在。 Nordic nRF5 SDK将芯片的存储器划分成如下格局: Flash 结构图 从上图可知,Flash存储器最下面放的是softdevice