nrf52832 开发板入手笔记:资料搜集

news2024/9/25 13:23:43

前言

  • 最近翻箱,发现了两块几年前买的 NRF52832 与 NRF52840 的开发板,打算搭个 BLE 的开发环境

  • NRF52832 与 NRF51822 之前用过, NRF52840 没有用过,好像是 BLE4 与 BLE5 的区别吧

相关介绍

  • 除了开发板,最重要的还是资料,至少需要了解开发板的原理图,这部分查找了一下,终于从网盘里面找了出来,之前购买开发板时,卖家把资料以网盘的方式发了过来,所以资料的【备份】确实很有必要。

  • 我还是想多从 官方了解更多,比如假设我只拿到了一个带原理图的开发板,如何一步步让它工作起来,熟悉各个模块,资料准备、环境搭建、工程编译、下载,各个功能的调试

  • nrf52 系列,有较大的 Flash 与 RAM 空间, nrf51 系列资源较少,可能主流是 nrf52 系列了

  • 之前用了 nrf52832,做蓝牙主机,手机可以配置一些数据,如 阿里云 MQTT 的三要素,现在想基于之前做的,搞个蓝牙通信配置的功能出来,现在常用的打印机、共享单车锁、智能插座等,都支持蓝牙配置。

  • 蓝牙是近距离通信,但是低功耗、无线,这个最大的优势,如果再让它连接 WIFI 或者 4G 这样的模块,就可以搞定 远距离通信,近距离用于参数配置

资料收集与搜集

  • 有了硬件,拿到了开发板的资料,我想先手动搜集一些资料,加强对芯片,对应用场景的回顾与认识。

  • 当前了解到这个 nrf52832 还没有被市场淘汰,可以在 nordic 官网轻松获取 【规格书】

  • nrf52 系列地址: https://www.nordicsemi.cn/products/nrf52832/

  • https://infocenter.nordicsemi.com/topic/struct_nrf52/struct/nrf52832.html

  • nrf52832 芯片的参考手册 https://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.8.pdf

  • 芯片的手册(规格书),最好下载到本地,随时翻阅。各个模块,如 GPIO、I2C、SPI 等外设的使用,都需要对芯片有个熟悉

蓝牙 sdk

  • nordic 芯片本身没有 蓝牙的协议栈,这个协议栈,比如蓝牙从机、蓝牙主机等,Nordic 以 bin 文件的形式提供,这就需要 nrf52832 有足够的 Flash、RAM 用于跑蓝牙协议栈,当前 nrf52832 Flash 与 RAM 参数分为两种:
512 kB flash/64 kB RAM
256 kB flash/32 kB RAM
  • 建议选择 512 kB flash/64 kB RAM 的 nrf52832(芯片型号后缀),这样用户做的事情就多了起来,否则后期会由于资源不够用,比如 蓝牙 OTA 升级。当然 OTA 升级分为两种,一种是双分区,比较浪费分区,但是靠谱,一种是单分区,升级出了问题,比如升级的固件有问题,就变砖,可能需要有线升级,OTA 升级部分,后面专门写篇文章记录

  • nrf52832 如果需要蓝牙功能(肯定需要开启,否则买来当普通 MCU 浪费成本),就去官方下载 相应的 SDK, SDK 下载地址:

  • https://www.nordicsemi.com/Products/Development-software/nRF5-SDK/Download

  • 下载前,可以简单看一下,是否支持自己的芯片,当前最新的版本支持 NRF52832,就下载最新的版本

在这里插入图片描述

在这里插入图片描述

开发工具

  • 记得之前是 J-Link + Keil MDK 的开发方式,需要安装 Keil 的 pack 包,当前买开发板时,顺便买了一个调试工具,J-OB,还没有用,后面搭建好工程就开始使用

  • 首先安装 Keil MDK,这个开发 MCU 单片机,比如 STM32,是经常使用的

  • NRF 的工具:用于烧写 蓝牙协议栈

  • 蓝牙抓包工具,买了一个,还没有用起来,后面用起来再说,主要是调试蓝牙协议,比如通过蓝牙发送一些自定义的数据包。

  • 其他的工具:需要时再整理吧,我当时自己使用 Android Studio 写 BLE 的通信小程序

  • nRF Connect,之前没有用到,现在打算用一下,相关的地址: https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop/Download#infotabs

  • nRFgo Studio,之前用来烧写 蓝牙协议栈,https://www.nordicsemi.com/Products/Development-tools/nrfgo-studio/download,好像被 nRF Connect 代替了

小结

  • 记录一下 nrf52832 开发板入手的一些操作笔记

  • 工欲善其事必先利其器,先准备好必要的软件与资料,这样开发调试起来会快很多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1143017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有线网卡通过无线网卡使其它设备上网

我现在的网络是无线路由器连接公网,电脑上的无线网卡连接路由器使电脑上网,这是完全正常的连接方式。 我现在又有了一台嵌入式设备,它只有有线网口,所以就只能用有线的方式连网,但是我的无线路由器不在电脑旁边&#x…

【23种设计模式】依赖倒置原则

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

openpnp - 程序发布包的制作

文章目录 openpnp - 程序发布包的制作概述笔记程序发布 - 简易打包备注程序发布 - 用install4j来打包END openpnp - 程序发布包的制作 概述 openpnp自带了intall4j的安装脚本. 官方说明这是intall4j 8.x的工程. 下载了intall4j 8.x(找不到注册码, 只能是90天试用版) 和 10.x…

小黑子—spring:第二章 注解开发

spring入门2.0 二 小黑子的spring注解开发1. Bean的基本注解开发1.1 注解版本1.2 Component使用和作用范围1.2.1 作用范围等注解使用1.2.2 Component的三个衍生注解 2. Bean依赖注入注解开发2.1 依赖注入相关注解2.2 Autowired扩展 3. 非自定义Bean注解开发4. Bean配置类的注解…

计算机网络【CN】子网划分与子网掩码

一个子网定义(X.X.X.X/n) 子网掩码为 n 个 1,32-n 个 0包含的 IP 地址数:232−n 主机号全 0 表示本网段主机号全 1 表示网段的广播地址可分配的 IP 地址数 :232−𝑛−2 子网划分原则 满足子网定义子网𝐴1…𝐴&#x…

牛客网刷题-(6)

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

QT OpenGL (1)2D Painting Example

2D Painting Example 为方便查阅,此文是原网站文档翻译与整理,如有侵权,请与本人联系。 官网 目录 2D Painting Example概述Helper类定义Helper类实现Widget类定义Widget类实现GLWidget类定义GLWidget类实现Window 类定义Window 类实现运行示…

《利息理论》指导 TCP 拥塞控制

欧文费雪《利息原理》第 10 章,第 11 章对利息的几何说明是普适的,任何一个负反馈系统都能引申出新结论。给出原书图示,本文依据于此,详情参考原书: 将 burst 看作借贷是合理的,它包含成本(报文)&#xf…

代码随想录算法训练营第三十五天丨 贪心算法part06

738.单调递增的数字 思路 暴力解法 题意很简单,那么首先想的就是暴力解法了【超时】。 贪心算法 题目要求小于等于N的最大单调递增的整数,那么拿一个两位的数字来举例。 例如:98,一旦出现strNum[i - 1] > strNum[i]的情况…

通过Vue自带服务器实现Ajax请求跨域(vue-cli)

通过Vue自带服务器实现Ajax请求跨域(vue-cli) 跨域 原理:从A页面访问到B页面,并且要获取到B页面上的数据,而两个页面所在的端口、协议和域名中哪怕有一个不对等,那么这种行为就叫跨域。注意:类…

大厂面试题-Java并发编程基础篇(二)

目录 一、wait和notify这个为什么要在synchronized代码块中? 二、ThreadLocal是什么?它的实现原理呢? 三、基于数组的阻塞队列ArrayBlockingQueue原理 四、怎么理解线程安全? 五、请简述一下伪共享的概念以及如何避免 六、什…

【Qt之控件QKeySequenceEdit】分析及使用

描述 QKeySequenceEdit小部件允许输入一个QKeySequence。 该小部件允许用户选择一个QKeySequence,通常用作快捷键。当小部件获取焦点时,录制将开始,并在用户释放最后一个键后的一秒钟结束。 用户可以使用输入键盘来输入键序列。通过调用get…

迁移学习 - 微调

什么是与训练和微调? 你需要搭建一个网络模型来完成一个特定的图像分类的任务。首先,你需要随机初始化参数,然后开始训练网络,不断调整参数,直到网络的损失越来越小。在训练的过程中,一开始初始化的参数会…

matlab创建矩阵、理解三维矩阵

1.创建矩阵 全0矩阵:a zeros(2,3,4) 全1矩阵:a ones(2,3,4) !和python不一样的地方!此处相当于创建了4页2行3列的矩阵,而在python里是2页3行4列。 对第1页的第2行第3列元素进行修改:

【中国知名企业高管团队】系列49:VIVO

今天为您介绍蓝绿两厂的蓝厂——VIVO。这两家公司同源于步步高,两家公司除了名字都是四个字以外,其他方面也实在是太像了,就连核心价值观的前两个词都一样:本分、用户导向。 一、VIVO公司简介 和OPPO一样,VIVO也来源…

[微信小程序踩坑]微信小程序editor富文本组件渲染字符串时,内部图片超出大小导致无法正常渲染或回显(数据传输长度为 3458 KB,存在有性能问题!)

坑一&#xff1a;回显问题 富文本组件&#xff1a; <editor id"editor" name"{{name}}" style"font-size: 28rpx;color: #C9CDD4" read-only"{{true}}" placeholder"{{placeholder}}" bind:input"onChange11"…

Java实现大学兼职教师管理系统 开源

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 学生教师管理3.3 课程管理模块3.4 授课管理模块3.5 课程考勤模块3.6 课程评价模块3.7 课程成绩模块3.8 可视化图表 四、免责说明 一、摘要 1.1 项目介绍 大学兼职教师管理系统&#xff0c;旨…

汇编运算符和表达式

运算符&#xff1a; 汇编语言由表达式和运算符组成&#xff0c;运算符分为数值运算符和属性运算符。属性运算符面向变量或标号。 数值运算符&#xff1a; 算术运算符&#xff1a; 运算符类型 ✓ ( 正号 ) 、 -( 负号 ) ✓ ( 加 ) 、 -( 减 ) 、 *( 乘 ) 、 /( 除 ) 、 MO…

Linux常用命令——chpasswd命令

在线Linux命令查询工具 chpasswd 批量更新用户口令的工具 补充说明 chpasswd命令是批量更新用户口令的工具&#xff0c;是把一个文件内容重新定向添加到/etc/shadow中。 语法 chpasswd(选项)选项 -e&#xff1a;输入的密码是加密后的密文&#xff1b; -h&#xff1a;显示…

CS224W1.2——图机器学习应用

文章目录 1. 任务分类2. 节点层级任务3. 边层级任务4. 子图层级任务5. 图层级任务 这节我们讲讨论图机器学习的应用。 1. 任务分类 在图机器学习中&#xff0c;我们有不同的任务&#xff1a; 节点层级的任务边层级的任务子图层级任务整张图层级任务&#xff08;图预测&#xf…