【手把手带你学nRF52832/nRF52840 · (1)开发环境搭建】
1、首先去Nordic官网下载SDKSDK下载链接▼点击选定下图中的17.0.2版本,可以看到目前最新的版本是17.1.0▼下拉网页到最后,确认要下载的文件,前面的一些例程可以去掉,保留最后一个SDK文件即可,点击Download files即可开始下载(不需要登陆账号)▼下载完成后解压,找到下面文件路径里的MDK工程文件打开(主要需要5.25版本及以上的MDK)nRF5_SDK_17.0.2_d
1、首先去Nordic官网下载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即可删除不需要的安装包。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)