NRF52833学习笔记(1)——搭建环境、编译烧写

news/2024/10/22 10:49:49/

一、搭建环境

1.1 安装Keil 5

官网下载:http://www2.keil.com/mdk5/
百度网盘:https://pan.baidu.com/s/1T_eF5NDYeq38bR0cqjiZkw 提取码:562z

1.2 下载SDK

官网下载:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs
百度网盘:https://pan.baidu.com/s/1YBe-Mp2qGf6xBMMm8rEhBw 提取码:97zh

1.3 安装Nordic Packet

注意:要与SDK版本对应
http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/
官网下载:http://www.keil.com/dd2/Pack/#/third-party-download-dialog
选择 Nordic Semiconductor nRF ARM devices Device Family Pack with BSD

百度网盘:https://pan.baidu.com/s/1XHUFqTnaPEfpquUYjYBLHA 提取码:vgb2
Keil内下载:

1.4 安装ARM CMSIS内核4.5.0

百度网盘:https://pan.baidu.com/s/1V-magEmEUoGxVhCeT9hIcw 提取码:m5n7

1.5 安装协议栈软件nRFgo Studio

官网下载:https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRFgo-Studio/Download
百度网盘:https://pan.baidu.com/s/1GxBDyzCS1_R-wVh2zyA2vA 提取码:qlfj

二、SoftDevice

2.1 命名规则

Sxyz 为例,其中 S 表示 Software,各字母的含义如下所示。不同的协议栈的具体描述可见此处。

2.1.1 通用规则

x - 协议栈类型

  • 1:BLE stack
  • 2:ANT stack
  • 3:BLE&ANT stack

y - BLE角色

  • 1:peripheral role
  • 2:central role
  • 3:all roles(central/peripheral/advertiser/observer)

z - 系列芯片

  • 0:nRF51 series
  • 2:nRF52 series
  • 3:misc series
    例如 S113 代表的是低功耗 BLE 协议栈,从设备,针对 nRF52805, nRF52810, nRF52811, nRF52820, nRF52832, nRF52833 and nRF52840 系列的 SoC。

2.1.2 特定规则

x - 协议栈类型
同上

yz - 芯片型号

  • 40:针对芯片52840
    tips: S140是一个大而全的协议栈,包含蓝牙所有功能。

注意不同的softdevice所占用的ROM和RAM是不一样的,具体看其手册S112、S113、S122、S130、S132、S140、S212、S312、S332、S340…

2.2 目录框架

  • components:Nordic 开发的各种 SDK,只包含头文件、源文件以及库文件,切勿修改!
  • config:不同类型芯片的配置文件。
  • documentation:SDK 和不同 softdeviceAPI 的参考文档。
  • examples:根据不同传输协议/ BLE 角色/外设等应用场景所设计的例程。此目录很常用。
  • external:第三方库或源码。
  • external_tools:第三方工具。
  • integration:集成旧版本SDK(≤SDK14)的驱动(又称legacy)。
  • modules:新版本SDK(>SDK14)驱动nrfx,同时支持nRF5 SDK(用于nRF51/52芯片)以及nRF Connect SDK(支持nRF91/53芯片)。

二、编译

打开BLE从机串口传输示例工程 ble_app_uart
路径:SDK\nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs

点击按钮进行编译

注意:其他工程编译可能产生缺少micro_ecc_lib_nrf52.lib文件错误时,查看 解决方法:编译NRF52832工程时缺少micro_ecc_lib_nrf52.lib文件

三、烧录

3.1 Keil内烧录

  1. 先烧录 协议栈

  2. 再烧录 应用程序

注意:调试过程中可能出现的问题,因为用的是官方的 nRF52833 DK 开发板,需要更新 JLINK 版本
nRF-Command-Line-Tools_10_12_0_Installer.exe 提取码:7lub

3.2 nRFgo内烧录

  1. 打开 nRFgo Studio
  2. 如果是第一次烧录,先擦除(可跳过)
  3. 烧录协议栈
    选择SDK版本对应的协议栈(一般随同SDK一起下载下来)
    路径:nRF5_SDK_17.0.2_d674dde\components\softdevice\s140\hex

    替换协议栈hex文件

    4.烧录应用程序
    路径:nRF5_SDK_17.0.2_d674dde\examples\ble_peripheral\ble_app_uart\pca10100\s140\arm5_no_packs\ _build


• 由 Leung 写于 2020 年 12 月 7 日

• 参考:NORDIC nrf52833使用笔记
    nRF52832开发环境搭建
    青风电子社区


http://www.ppmy.cn/news/893797.html

相关文章

S32K AUTOSAR S32DS工程集成-文件结构

S32K AUTOSAR S32DS工程集成-文件结构 从我的角度来看文件夹的目录,一个作用是能够熟悉autosar文件所在的目录,另一方面大部分的autosar的项目都是采用make的形式,可能也是为了方便编译吧。所以在看到的一些专业的autosar的项目工程里面都是大体相似的。我这里也算是模仿了…

NORDIC nrf52833使用笔记

文章目录 一、SoftDevice命名规则(一)、通用规则(二)、特定规则 二、nRF52833关键特性三、SoftDevice目录框架四、代码目录框架五、应用代码结构六、内存分配表(一)、不带bootloader时的内存分配&#xff0…

Spark(24):Spark内核概述

目录 0. 相关文章链接 1. Spark核心组件 1.1. Driver 1.2. Executor 2. Spark通用运行流程概述 0. 相关文章链接 Spark文章汇总 1. Spark核心组件 1.1. Driver Spark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行工作。Dr…

创建一门简单的解释性编程语言并实现它的解释器

背景 最近刷到大佬的教程,跟着学一下 效果 开始时 输入姓名和年龄后 代码 自创编程语言SimpleScript: 自创一门简易脚本支持中文编程 (gitee.com) 解析 1.词法分析 将程序的每个字符串精准划分出来,形成多个单词Token 2.语法分析 将各段Token再…

注册表:HKCR, HKCU, HKLM, HKU, HKCC,注册表中常用的5种数据类型

注册表是Microsoft Windows中的一个重要数据库、用于存储系统和应用程序的系统信息。 Windows 3.0注册表已经出现Windows NT广泛使用注册表的操作系统Microsoft Windows 95成为windows用户经常接触的内容 HKEY:根键 句柄项:附加的文件夹和一个或多个值 子项&#…

wordpress仿站常用功能代码

wordpress调用代码 调用内容循环标签 目标&#xff1a;循环调用某个文章类型&#xff1b;可以设置调用的分类&#xff0c;数量&#xff0c;排序&#xff1b;显示的内容列表包括调用图片、链接、标题。 <?php // 设置查询参数 $args array(post_type > your_post_typ…

macOS 开发 - NSAlert

文章目录 关于 NSAlert代码实现简单弹出Alert 类型贴着窗口 beginSheetModalForWindow添加按钮关于 NSAlert 官方文档:https://developer.apple.com/documentation/appkit/nsalert代码实现 简单弹出 - (void)showAlert3{NSAlert *alert

我被感动了!世间自有真爱 - 林林与静静

其实很早就有了&#xff0c;不过今天才知道&#xff0c;内容不知是否属实&#xff0c;但它动感动了我。 你会被感动吗&#xff1f; 原文&#xff1a; 我是一名搞计算机的,记得2001年那年我去了北京,然后一直在北京工作,日子过的挺苦的拉,因为一个自己到了一个陌生的城市,也没有…