基于NRF5340-(P)DK 的第一个BLE例程

  • 首先下载SDK

刚开始建议用nRF Connect中的Toolchain Manager来下载,这样更适合新手,只是速度可能会比较慢。

如下图是笔者下载后的效果:

A处显示的表示已经下载成功,可以打开开发工具来开始编程;B处可以在下载前设置下载的路径,如下图为笔者设置的自定义路径,因为默认路径在C盘的用户目录下名为ncs目录下,用起来不是太方便。

 

  • Nrf5340介绍

Nrf5340为双核芯片,其中一个为netcore用于网络管理,一个用于application;如果用户的工程需要使用网络功能,比如蓝牙\zigbee\2.4G 等,则需要下载对应固件到netcore中;因为目前Segger embedded studio for arm(Nordic edition)在管理和下载两核的固件上做的还有些问题,导致下载netcore固件时往往有问题,从而使用应层的程序在运行类如bt_enable(NULL)这样启动netcore程序的时候会无法返回(笔者就曾被该问题浪费了不少精力)。

 

  • 下载netcore中的固

netcore中需要烧录的固件在sdk中有对应的工程,名为hci_rpmsg,如下图所示:

所以我们编译好该工程后,会在目录:

v1.4.99-dev1\zephyr\samples\bluetooth\hci_rpmsg\build_nrf5340pdk_nrf5340_cpunet\zephyr

下生成zephyr.hex的目标文件,如果你直接用segger ide来下载的话会提示失败,因此我们改用nRF connect中的Programmer来下载(应该还有别的方法,只是笔者没有去一一实测),如下图所示,

图中A区即为netcore核,绿色显示表示笔者已经下载了固件,B区用application核 ,用来执行用户的应用程序 。我们用该工具打开上面生成的zephyr.hex后,工具会自动识别其为netcore的固件并把它下载进去。

 

  • 下载application core中的固件

我们以lbs示例工程来讲解;

打开segger ide,进行如下图的配置:

 

此工程配置为cpuapp,表示只编译application核中的程序;工程编译后,生成的目标文件为merged.hex,在下面目录里:

v1.4.99-dev1\nrf\samples\bluetooth\peripheral_lbs\build_nrf5340pdk_nrf5340_cpuapp\zephyr

下载或调试时,会出现如下提示,选择否即可(即无需重新编译,当然再次编译一下可以,只是浪费一些时间的问题)。

 

下载完成后,就可以能过手机来控制评估板上的一个LED灯,同时也会有一个LED灯周期闪烁。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值