SDK和Softdevice有什么区别?如何选择?SDK和softdevice版本?SDK和softdevice版本兼容性有问题吗? 一般推荐大家使用nRF5 SDK来开发Nordic nRF51/nRF52系列产品。形式上,nRF5 SDK其实是产品压缩包,如下:
除了nRF5 SDK,Nordic一些特殊的应用领域也推出了一些特殊的应用SDK,这些SDK和nRF5 SDK软件架构相同,驱动和库相同,编码风格相同。对于开发者来说,只要他们熟悉nRF5 SDK,这些特殊SDK上手会更快。Nordic提供以下特殊类型SDK: nRF5 SDK for Mesh,用于开发蓝牙Mesh应用 nRF5 SDK for Thread and ZigBee,用于开发ZigBee应用或者Thread应用 nRF5 SDK HK,开发苹果homekit应用 Thingy SDK,用于开发Nordic Thingy传感器套件 nRFready Smart Remote 3.开发蓝牙语音电视遥控器 nRFready Desktop 2.开发蓝牙或2.4G无线键盘和鼠标 如果您的应用程序是上述6个应用程序,建议您选择上述应用程序SDK,否则推荐使用nRF5 SDK。下面将对nRF5 SDK进行阐述。
- nRF5 SDK和Softdevice概述 1) nRF5 SDK是Nordic nRF5系列产品软件开发环境,Softdevice是Nordic为了方便用户使用,每个版本的蓝牙协议栈的名称SDK所有这个版本支持的版本都包内。softdevice,请到SDK根目录\components\softdevice目录查看具体支持softdevice版本。 2)nRF5 SDK版本编号,nRF51 SDK v9.0.0,nRF51 SDK v10.0.0,nRF5 SDK v11.0.0, nRF5 SDK v12.0.0 …之前nRF51和nRF52的SDK是分开的,现在Nordic把nRF51和nRF52的SDK统一到一个版本,即nRF5 SDK。顺便说一句,如果你需要使用多个版本nRF5 SDK,然后同时使用多个device family pack,请按照低版安装高版安装的顺序(如果SDK例程报device family pack错误,请先完全卸载之前的错误device family pack,然后按照从低到高的顺序重新安装一切pack) 3) Nordic一般建议使用最新版本SDK,由于其功能最强大,考虑最全面,可靠性最好。比如nRF推荐使用51系列SDK310(310已经是nRF51能支持的最高版本SDK了),nRF推荐使用52系列SDK340(340是目前最新版本,后续会更新)。但是最新版本SDK占用的Flash资源和RAM资源多,新版SDK设计复杂,以适应各种情况。为了节省资源或使应用程序看起来简单,客户也可以使用一些旧版本SDK。比如nRF如果应用程序只是BLE从设备(BLE peripheral角色或者slave也可以使用角色),SDK9或者SDK10。再比如nRF52832,如果只需要明文DFU不需要签名DFU,所以可以用SDK11。当然,对于老用户,是否要升级?SDK,一个原则:测试为王,只要你的应用测试没有问题,你的SDK稳定可靠,无需升级SDK。当然,如果你想加入新的SDK功能和特性需要升级SDK了。请打开SDK根目录\documentation\release_notes.txt查看最新版本SDK新功能和特点。 4) Softdevice命名规则1。Softdevice包括两种底层协议栈:BLE和ANT,BLE包括两种角色:central和peripheral,因此,有必要命名这些不同类型的协议栈。协议栈的命名格式是Sxyz,其中 x – 表示协议栈的类型,1表示BLE协议栈,2表示ANT协议栈,3表示同时支持BLE和ANT y – 表示BLE角色,1表示从设备,2表示主设备,3表示支持主设备和从设备 z – 表示芯片类型,0表示芯片类型nRF51系列,2表示nRF52系列 比如S110表示只支持设备模式nRF51 BLE协议栈 比如S130表示支持设备模式和主设备模式nRF51 BLE协议栈 比如S132表示支持设备模式和主设备模式nRF52 BLE协议栈 比如S212,表示nRF52只支持ANT协议栈 比如S332,表示nRF52既支持BLE又支持协议栈ANT协议栈,还有BLE协议栈既支持设备模式,又支持主设备模式 5)Softdevice命名规则2。一般与命名规则1相同,但协议栈编号的最后两位与芯片型号相同,如S140代表该协议栈专门用于nRF52840。 6)Softdevice版本编号,从1.0.开始编号,然后2.0.0,3.0.0,…S110最新版本是8.0.0,S130最新版本是2.0.1,S132最新版本是6.0.0,S112最新版本是6.0.0,S140最新版本是6.0.0(S132/S112/S后续将升级140版)。 7)SDK和softdevice兼容性问题。不要检查兼容性表格,直接打开SDK,直接使用SDK里面的softdevice,肯定没问题。
详细联系王工136316661919QQ255239043