Nordic52810开发手记—环境安装

本文详细介绍nRF52810蓝牙开发的准备工作,包括软件及工具安装、蓝牙协议栈的选择与使用、工程编译与下载流程,以及DFU空中升级的相关步骤。涵盖keil5、nRF DeviceFamilyPack、52810 SDK、Python环境、NRFgoStudio等关键工具的配置与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.安装准备

1.keil5软件以及破解器

2.nordic52系列MDK硬件包:http://www.nordicsemi.com/eng/content/search?SearchText=Pack&SearchButton=Search

历史版本硬件包:http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/

3.52810 SDK :http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52-DK

历史版本:https://developer.nordicsemi.com/nRF5_SDK/

4.python 环境的安装

https://download.youkuaiyun.com/download/huitailang_1_1/10510394

注意:3个依次安装,安装好nrfutil后需要在环境变量中添加路径C:\Python27和C:\Python27\Scripts(注意使用上述链接中的python-2.7.13.amd64版本python才有scripts文件夹),不然是无法使用nrfutil包的

5.52810 蓝牙协议栈

这里使用的是s112版本,需要注意的是目前nordic给提供的有两个版本的协议栈,S112和S132,区别如下:

翻译一下:

S112:

1.支持蓝牙5.0,2M的数据传输速度;

2.支持从机(x2我理解为最多支持同时被两个设备连接),广播这角色;

3.2#信道选择算法;

4.支持数据吞吐量扩展(TI的26xx系列25xx系列最多20个字节,nordic的ATT MTU可设置长度可达到251bytle)

https://www.nordicsemi.com/eng/News/News-releases/Product-Related-News/Production-ready-Nordic-S132-SoftDevice-boosts-Bluetooth-low-energy-data-throughput-by-400-and-protects-users-from-unauthorized-location-tracking/(language)/eng-GB

5.链路层ping检查;

6.1.2版本的私密保护协议;

s112协议栈提供独立的协议栈可烧录二进制文件,协议栈大小烧录文件大小约为100KB;协议栈与应用分隔独立;

 

s132:

1.支持蓝牙5.0,2M的数据传输速度;

2.支持主机、从机、广播者、观察者四个角色;

3.所有蓝牙角色最多连接20个设备;

4.支持数据吞吐量扩展(TI的26xx系列25xx系列最多20个字节,nordic的ATT MTU可设置长度可达到251bytle)

https://www.nordicsemi.com/eng/News/News-releases/Product-Related-News/Production-ready-Nordic-S132-SoftDevice-boosts-Bluetooth-low-energy-data-throughput-by-400-and-protects-users-from-unauthorized-location-tracking/(language)/eng-GB

5.支持数据包扩展;

6.低功耗安全链接;

7.链路层通断检查;

8.连接层私密保护协议;

9.逻辑链路控制适配支持;

s132协议栈与应用完全分离,只提供一个可烧录的二进制文件。

 

6.NRFgo Studio :https://www.nordicsemi.com/eng/Products/nRF52810/(language)/eng-GB

7.command line tool,用于安装segger jlink驱动。需要提醒的是,可能nrfgo studio不能对芯片识别,这个时候检查jlink连接路线,若线路连接正常则有可能是segger link的驱动没有装好,重装驱动不一定有用。这个是时候就要将nrfgo studio软件和segger link驱动卸载,注册表里的segger文件夹删掉,然后安装command line tool工具,再重新安装NRFgo Studio  。

http://www.nordicsemi.com/eng/content/search?SearchText=NRF5X

8.logo的使用,SDK的uart工程本身就是带有logo的,logo的使用:在安装好NRFgo Studio和command line tool 工具后会出现一个segger程序群,里边的link下有一个j-linkRTT viewer程序。52810的板子使用jlink下好程序后不要拔掉link以及接线,打开j-linkRTT viewer程序,选择好芯片型号就可以了看到打印的信息了。

二.工程试水

1.编译

     一般的从机项目工程都是从串口工程 ble_app_uart 开始的,基于这个框架进行修改。打开 ble_app_uart 后进行编译(注意工程路径为D:安装路径\examples\ble_peripheral\ble_app_uart\pca10040e\s112\arm5_no_packs,是arm5_no_packs),可能会报错找不到core_cm4.h文件。针对这个问题在options选项卡的C/C++里面添加这文件的文件路径就好了,路径为nRF5_SDK_14.2.0_17b948a\components\toolchain\cmsis\include

2.下载

下载工具:ARM仿真器,使用其中的swd;

  对接板子的vcc,gnd,dio,clk到仿真器上即可,验证是否连接成功方式:使用软件
出现如下内存分配显示,表示板子与电脑连接成功,可以烧录(一般为keil和nrfgo studio两种烧录方式)

   

keil烧录

打开工程的时候其实协议栈的工程路径也进来了。如下图,nrf52810_xxaa表示的是应用工程,flash_s112nrf52810_表示的是协议栈工程,但是nordic是不提供协议栈源码的,只提供烧录文件。所以这个入口等于是给同学们的一个调试窗口,下拉到协议栈工程进行下载,就能下载协议栈了。

 

下载程序可能会遇到找不到设备等情况,这里解决方式是先在options选项卡里的device选上25810硬件,在debug里的setting里的flash download中add相应的flash分配算法(我理解为决定芯片哪个内存地址烧哪一段程序)。

3.DFU

1.安卓升级使用的SDK:https://github.com/NordicSemiconductor

2.安装Python,在Python里安装nordic专门用于升级的加密包,详见《SDK12空中升级详细步骤操作》 :

https://download.youkuaiyun.com/download/ccdehuiji/9819441

https://www.cnblogs.com/iini/p/9314246.html

 

### Nordic nRF52810 的硬件规格 nRF52810 是一款由 Nordic Semiconductor 推出的低功耗蓝牙 (Bluetooth Low Energy, BLE) SoC,适用于物联网设备和其他无线应用。其主要特点包括: - **处理器核心**: 基于 ARM Cortex-M0+ 架构,运行频率高达 32 MHz[^1]。 - **内存配置**: 集成了 64 KB Flash 和 16 KB RAM,适合轻量级的应用场景。 - **射频性能**: 支持 2.4 GHz ISM 波段,具有出色的灵敏度和发射功率调节能力,能够满足多种通信距离需求。 ### 开发资源与工具链支持 为了方便开发者快速上手并构建基于 nRF52810 的项目,Nordic 提供了一系列开发资源和支持文档: - **SDK 下载**: 官方提供了 nRF5 SDK,其中包含了丰富的示例代码以及外设驱动程序库。 - **开发环境搭建指南**: 参考《Nordic52810开发手记环境安装》一文中描述的方法可以完成必要的软件设置过程。 以下是用于初始化项目的简单 C 语言模板代码片段: ```c #include "nrf.h" void clock_initialization(void){ NRF_CLOCK->TASKS_HFCLKSTART = 1; // 启动高频晶体振荡器 } int main(){ clock_initialization(); while(1){ __WFI(); // 进入等待中断模式以节省电能消耗 } } ``` 此代码展示了如何启动内部时钟源以便后续操作正常执行。 ### 使用教程概览 对于初学者而言,《Nordic52810开发手记》系列文章是一个很好的起点,它不仅介绍了基础概念还涵盖了实际动手实践部分。通过这些材料的学习可以帮助理解芯片的工作原理及其周边电路设计要点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值