1、首先去Nordic官网下载SDK

SDK下载链接

▼点击选定下图中的17.0.2版本,可以看到目前最新的版本是17.1.0
在这里插入图片描述

▼下拉网页到最后,确认要下载的文件,前面的一些例程可以去掉,保留最后一个SDK文件即可,点击Download files即可开始下载(不需要登陆账号)
在这里插入图片描述
▼下载完成后解压,找到下面文件路径里的MDK工程文件打开(主要需要5.25版本及以上的MDK)
nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_blinky\pca10040\s132\arm5_no_packs\ble_app_blinky_pca10040_s132.uvprojx
在这里插入图片描述
nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_blinky\pca10056\s140\arm5_no_packs\ble_app_blinky_pca10056_s140.uvprojx
在这里插入图片描述

pca10040是Nordic的nRF52832开发板的型号,pca10056是Nordic的nRF52840开发板的型号。
ble_app_blinky是灯光闪烁例程。

2、安装pack包

下文中,本人测试使用的MDK版本号V5.25.2.0,后面不再赘述。

▼如果没有安装相关pack包,打开后会弹出提示如下:
nRF SDK工程不同版本要求安装对应的不同版本的ARM.CMSIS包和Device包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面这张图可以看出,缺少ARM.CMSIS.5.6.0 和 NordicSemiconductor.nRF_DeviceFamilyPack.8.35.0软件包。
点击 是 会自动从keil官网开始下载并自动安装。
▼下载ARM.CMSIS.5.6.0.pack
在这里插入图片描述
▼安装ARM.CMSIS.5.6.0.pack
在这里插入图片描述
▼下载NordicSemiconductor.nRF_DeviceFamilyPack.8.44.1软件包
在这里插入图片描述
▼点击同意
在这里插入图片描述
▼安装完成,点击是。
在这里插入图片描述
▼坑爹,有bug,要的是8.35.0版本pack,自动下成了8.44.1版本,现在提示还是需要8.35.0版本pack,所以又要再下载安装8.35.0版本pack,点击是
在这里插入图片描述
▼点击同意安装
在这里插入图片描述
关闭工程,再重新打开,顺利的话应该不会再提示错误了。
▼点击箭头所指可查看当前使用的软件包:
在这里插入图片描述
▼可以看到当前工程使用的是5.6.0版本ARM::CMSIS和8.35.0版本nRF芯片包:
在这里插入图片描述
现在可以点击编译工程了:
▼编译没问题。
在这里插入图片描述
生成的hex文件在工程文件目录下的_build文件夹:nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_blinky\pca10056\s140\arm5_no_packs_build

3、烧写程序

这里不再讲J-link驱动安装了,直接看怎么使用j-link烧写程序。
正确连接GND,SWDIO,SWCLK三根线

在这里插入图片描述
建议使用V9版本的Jlink,下图可见SW Device栏已经识别到芯片
在这里插入图片描述
Flash Download推荐下面的配置,我们打开的是示例工程,其配置已经是下图所示了,编程算法也已经是添加好的。
在这里插入图片描述
直接点击下图红框处即可烧录:
在这里插入图片描述
烧录完成信息提示:
在这里插入图片描述
Application running …表示程序已经在运行。
注意:该例程是官方提供的例程,该程序自然是对应的官方开发板的硬件配置。

如果是空片(没有烧录过程序),我们需要再单独下载协议栈。
▼切换到如下Target:
在这里插入图片描述
▼协议栈是预编译的,工程中已经提供了hex文件,切换到协议栈Target后不需要再点击编译,直接点击下载即可。
在这里插入图片描述

后面是一些题外的知识。
下面介绍SDK文件结构:
在这里插入图片描述
下面介绍如何删除芯片包:
点击箭头处:
在这里插入图片描述
可以打开pack包安装管理工具:
右边Device Specific下可以找到Nordic的芯片包,可以看到我们安装了两个版本。点击Remove即可删除不需要的安装包。
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐