NRF52840 NRF52833 nRF5 SDK 开发

这篇具有很好参考价值的文章主要介绍了NRF52840 NRF52833 nRF5 SDK 开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 . nRF5 SDK简介

  nRF5 SDK是Nordic NRF51 NRF52系列的固件开发SDK,提供了这两个系列MCU开发基本的外设驱动,当前最新版本为nRF5_SDK_17.1.0_ddde560,后续应该也不会有太大升级和改动,因为后续Nordic将主推另一套新的nrf connect ,新的SDK基于Zephyr RTOS,上手成本更高,搞得更复杂,对于旧的NRF51 NRF52系列完全没有必要使用这套新的SDK。
nRF5 SDK官网下载地址:nRF5 SDK

2 . SDK目录介绍

NRF52840 NRF52833 nRF5 SDK 开发
解压完的SDK目录如上图所示,下面简单介绍下每个目录里放的内容

  • components: ble文件夹里的内容主要与BLE协议栈等相关,libraries放的是一些芯片库等文件,softdevice放的是nordic无线协议栈的hex档和相关头文件,nordic无线协议栈像BLE部分是不开放的,是直接烧录hex到Flash中的,用户无法随意更改。
    NRF52840 NRF52833 nRF5 SDK 开发
  • config: 主要需要使用其中的sdk_config.h文件,这里是SDK配置的集合,通过宏定义来配置一些外设功能的使能和相关参数设定,很多时候添加了C文件和头文件还报错,可能是这里相关使能没有打开,需要特别关注
  • documentation: 里面有index.html,点击可以链接到官方的说明文档,可以查看关于SDK和softdevice的一些说明和介绍,有些不太清楚的地方可以在这里搜索下
  • examples: 这里是一些常用的例程工程,都可以直接打开工程编译,需要安装Keil V5或SEGGER Embedded Studio(SES),新手上手都可以先使用这些例程工程来了解SDK
    NRF52840 NRF52833 nRF5 SDK 开发
  • external和external tools: 一些第三方的驱动文件和工具,随便看看
  • integration和modules:底层驱动文件,有nrf和nrfx两个开头的,搞得很乱,应该有一些兼容老版本SDK的缘由,一般使用nrf开头的函数。

3. 如何基于SDK新建工程

  前期开发可以先使用例程工程来开发,但后续可以基于SDK新建工程来开发,为什么需要新建工程来开发,SDK中有很多文件是当前工程所不需要的,所以需要精简,当然也可以选择在当前例程工程中一步一步来删除多余的文件,但何不如新建个空工程来添加需要的文件,这样对于了解每个驱动文件所在的地方,进一步熟悉工程的完整架构,这里基于Keil V5来新建一个基本的工程,Keil所需要的pack下载地址:https://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/

    1. 从nRF5 SDK中复制所需要的文件,一般复制如下目录即可,这些目录下面也可以再次进行精简的,新建一个Nordic文件夹,把下述文件夹都复制到Nordic文件夹下,之后新建工程都可以直接复制这个Nordic文件夹进来就行。
      NRF52840 NRF52833 nRF5 SDK 开发
    1. 新建一个NRF52840工程这里就跳过,选择Device和添加启动文件即可,下一步添加源文件和头文件到空工程中,新建nRF_Drivers、nRF_Libraries、nRF_SDKConfig等目录,如下图所示
      NRF52840 NRF52833 nRF5 SDK 开发
      nRF_Drivers: 主要放置Nordic\integration\nrfx\legacy和Nordic\modules\nrfx\drivers\src里的c文件,可以按需添加
      nRF_Libraries: 放置Nordic\components\libraries里的c文件

  添加完c文件后需添加头文件,头文件的分布特别散,需要到components、external、integration、modules目录下仔细查找相关联的头文件,而且一层一层特别多,编译的时候可以根据相应的Error去找有那些头文件没有被包含
NRF52840 NRF52833 nRF5 SDK 开发文章来源地址https://www.toymoban.com/news/detail-425496.html

    1. 工程设置,在C/C++、 Asm 的Define栏中添加系统级的宏定义
      NRF52840 NRF52833 nRF5 SDK 开发
      如果出现Undefined symbol sdh_req_observers$$Base等警告,可以在Linker的Misc controls中加入–diag_suppress 6330来消除
      NRF52840 NRF52833 nRF5 SDK 开发
      Sample文件夹中对应的MCU型号
硬件标识 MCU
PCA10040 NRF52832
PCA10040e NRF52810
PCA10056 NRF52840
PCA10056e NRF52811
PCA10100 NRF52833
PCA10100e NRF52820

4. 相关开发工具介绍

  1. nRF Connect for Desktop: 集成了一些图形化的工具,如Programmer可以烧录程序,Bluetooth Low Energy对于BLE开发很有用,下载地址:https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-desktop/Download
  2. nRF Command Line Tools:命令行工具,可以进行烧录和读取(配合JLink),合并softdevice hex和app hex档等功能,也可以基于当中的nrfjprog DLL开发自己的烧录工具,下载地址:https://www.nordicsemi.com/Products/Development-tools/nRF-Command-Line-Tools/Download?lang=en#infotabs

到了这里,关于NRF52840 NRF52833 nRF5 SDK 开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NRF52840 和电脑 进行蓝牙通信

    以nrf52840为主控连接各种传感器,将传感器的数据通过蓝牙传输到电脑进行接收。由于协议栈的不同,hc-06没法检索到nrf52840。 主控采用的是Seeed XIAO BLE,他的芯片是nrf52840,上面搭载了arduino的底子,所以用户上层用arduino IDE进行烧写代码。 他的蓝牙部分采用的是Adafruit相关库

    2024年02月09日
    浏览(45)
  • ARM Cordio WSF(三)——WSF在nRF52840平台移植

    前文介绍了WSF架构及其WSF API,本文将介绍如何在一个硬件平台上使用WSF,这里基于stack项目下的nRF52840平台进行介绍。 对于要在一个处理器上运行WSF(逻辑情况),需要处理系统的调度、系统SysTick、中断上下文(Critical Section)、平台定时器相关,主要涉及内容如下: timer移

    2024年04月23日
    浏览(31)
  • nRF51822 入门必备教程(一篇搞定nRF51)

    部署PC端开发环境 nRFgo Studio v1.14或更高版本 Keil MDK-ARM Lite v4.54或更高版本 J-Link Software v4.52b或更高版本 下载手机端app IOS系统:进入App Store并搜索“ nRFToolbox ” Android系统(4.3或更高):下载nRFToolbox,解压后安装即可 注意:蓝牙4.0和传统蓝牙的开发方法不同,首先需要手机支持蓝

    2024年02月04日
    浏览(37)
  • 51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信

    NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部 集成 NORDIC 自己的 Enhanced Short Burst 协议。可以实现点对点或是 1 对 6 的无线通信。无线通信速度可以达到 2M(bps)。NORDIC 公司提供通信模块的 GERBER 文件,可以直接加工生产。嵌入式工程师或是单片

    2024年02月03日
    浏览(80)
  • 【nRF Connect】一、下载方法及简介

    nRF Connect是NORDIC开发的一款低功耗蓝牙测试APP,仅支持安卓。可以扫描和探索低功耗蓝牙设备并与它们通信。支持许多蓝牙 SIG 采用的配置文件,以及 Nordic Semiconductor 或 Google 的 Eddystone 的设备固件更新配置文件 (DFU)。 从NORDIC官网进入,选择产品=低功耗蓝牙=开发工具=可以找到

    2024年02月11日
    浏览(36)
  • NRF24L01学习操作教程(二)——NRF实现一对一,一对多通讯

    上篇博客链接:https://blog.csdn.net/DIVIDADA/article/details/130599974?spm=1001.2014.3001.5501 以下单片机例程都是基于STM32 HAL库,在文档末尾,我会提供参考博客和源码程序的链接。 在CubeMx中配置单片机时钟、SPI通讯接口、NRF24L01接口等,并生成Keil工程 将NRF24L01的驱动程序的.c文件和.h文件

    2024年01月15日
    浏览(42)
  • nRF52832——GPIO端口的应用

    GPIO 称为输入输出端口,根据 nRF52832 封装最大具有 32 个 I/O 口,可以通过 P0 这样的端口访问和控制多达 32 个端口。而且每个端口都可以单独访问。特点如下: 最大 32 个 GPIO,分别为 P0.0~P0.31 具有 8 个带有模拟通道的 GPIO 口,可以用于 SAADC、COMP 和 LPCOMP 输入 可以配置的输入

    2024年03月12日
    浏览(38)
  • 无线收发模块——NRF24L01

    nRF24L01 是由NORDIC生产的工作 在2.4GHz~2.5GHz 的ISM 频段的 单片无线收发器芯片 。有着极低的电流消耗。 nRF24L01与5V单片机的连接通过 SPI 接口进行通讯,输出功率频道选择和协议的设置可以通过SPI 接口进行设置,几乎可以连接到各种单片机芯片,并完成无线数据传送工作。 引脚

    2024年02月01日
    浏览(40)
  • stm32驱动NRF24L01_原理+代码解析

    目录 概念 废话篇(24L01简介) 引脚分配 工作模式 通信地址理解(个人疑难点) 原理分析 寄存器赏析 寄存器操作指令  配置寄存器(CONFIG,位置:0X00)  自动应答使能寄存器(EN_AA,0X01) RX地址使能寄存器(EN_RXADDR,0X02)  自动重发设置寄存器(SETUP_RETR,0X04)  射频频

    2024年01月18日
    浏览(43)
  • nRF 5340环境搭建和工具下载(采用vscode最新搭建教程)

    1. 1 软件安装 nRF Connect for Desktop https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop nRF Command Line Tools https://www.nordicsemi.com/Products/Development-tools/nrf-command-line-tools/download vscode https://code.visualstudio.com/download 1.2 SDK和工具链下载 打开 nRF Connect for Desktop 下载NCS编译链(我这里

    2024年01月22日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包