最近因为项目的缘故,又再次使用到了nordic的芯片,想到了18年无限踩坑的52832,永远不知道什么时候才会用的到的long range和增大的广播包,无限感慨。
但是,当同事提前调研告诉我,nordic居然开了新坑,旧坑不填了,nrf5 softdevice那波不管了,新开了一个nrf connect sdk,这让我想重头看看
结果,好头大啊,整个架构都变了,以前灵活好用的定时器任务模式也没有了,直接上了一个zephyr的rtos,好像现在芯片原厂不把sdk嵌套进rtos都不好意思和人打招呼一样。没办法重来吧。
而且,整个蓝牙协议栈的架构也产生了一定的变化
最上层是对外的nrf connect sdk,之后还继承了标准的HCI借口,变动很大,有兴趣的自己可以去看一下文档,顺便扔出官方的文档地址:
nRF Connect extensions for VS Code
对了,新的sdk支持在VS CODE下开发,不再支持keil了,可怜keil做嫁衣,官方开放了免费的keil,可惜伊人已不再,keil本将心向nrf,奈何nrf爱vs code了。
在这个链接下有安装的相关说明:
Installing dependencies - nRF Connect extensions for VS Code
基本上就是安装几个主要的支持软件了
安装好nrf connect for desktop之后,在里面安装toolchain manager
然后选择要安装的sdk
我这里安装的是1.9.0版本,为什么是1.9.0呢,当然是因为1.9.1安装多次卡死安不上了
在都完成之后,打开vs code,应该就可以看到如下的界面了
然后选择创建一个新工程(第三个)
可以打开招牌的uart项目来试试
之后在左侧边栏选择nrf connect 然后配置
左下角可以看到已选择的工程,这个随自己使用选择
之后选择板子,后面会自动配置好
然后下载程序即可
使用nrf connect的app就已经可以看到了
相关官方的介绍还有很多,中文视频链接如下
youtube也有官方的介绍视频,很详细
接下来会分析一下之前nrf5 sdk和nrf connect的异从点,以及如何快速移植旧代码到新代码,如果我做得到的话(大概率,不行)