最近因为项目的缘故,又再次使用到了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就已经可以看到了
相关官方的介绍还有很多,中文视频链接如下
https://www.eeyxs.com/livebroadcast/index/playback/tid/410.html
youtube也有官方的介绍视频,很详细
https://www.youtube.com/watch?v=MGsZJpdLtco&list=PLx_tBuQ_KSqEt7NK-H7Lu78lT2OijwIMl&index=5
接下来会分析一下之前nrf5 sdk和nrf connect的异从点,以及如何快速移植旧代码到新代码,如果我做得到的话(大概率,不行)