Advertisement

Nordic nRF52832 搭建开发环境及注意事项

阅读量:

Nordic nRF52832搭建开发环境

nRF52832 作为 Nordic 输出的最新一代低功耗 SoC 芯片,在性能上有显著提升。该芯片集成了 2.4GHz 高性能发射器以及一颗 32 位 ARM Cortex-M4F 处理器架构,并配备了 512KB 集成存储器(ROM)及 64KB 高速数据存储器(RAM)。此外, 厂家还提供了基于 BLE 和 ANT 协议栈的支持, 并特别针对专用 2.4GHz 应用场景进行了优化配置。
作为一个开发者分享经验与心得的地方, 我会定期更新我的研究成果与应用方案, 欢迎各位开发者共同探讨技术问题并提出宝贵意见。

开发者应该具备以下能力

  • C语言
  • Keil或其他开发环境
  • 硬件原理图和PCB图阅读

官方代码与工具下载

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

  • 开发板硬件资料
    硬件资料包含开发板的原理图文件、BOM以及布局文件。在调试过程中或者连接外设进行扩展时查看。
这里写图片描述

该团队使用了协议层烧录工具nRFgo Studio对这款芯片进行安装。该软件在前期阶段被用来进行固件烧录操作。该芯片固件分为三个主要部分:蓝牙协议栈部分采用的是SoftDevice框架实现的模块化设计;固件升级部分采用了BootLoader框架;而App(用户自写的程序)则通过与主控单元的交互完成功能实现。

这里写图片描述
这里写图片描述

官方例程和库文件

该产品的型号为S132,并提供相应的蓝牙协议栈支持;具体下载信息可参考以下链接:

这里写图片描述

Nordic自家拥有的蓝牙测试应用适用于安卓或iOS平台;其常用功能包括nRF Master Control panel;该工具的源代码可在GitHub上获取,并支持用于开发App

试验第一个程序

  • 打开 nRFgo studio
这里写图片描述

我在使用一套开发套件,在这套开发套件上内置有jlink控制器。该软件能够识别并连接至nRF52系列开发板。

注意:当运行该软件时可能会因jlink驱动版本问题导致无法识别某些芯片因此建议安装该软件预装的segger驱动程序以解决此问题

右侧窗口清晰展示了芯片存储空间的整体架构。该区域涵盖了上述三个部分程序的具体起始地址、结束地址以及大小信息。其中必须包含关键组件:软件设备(SoftDevice)和应用程序(Application)。

烧写固件

以虚拟串口为例,在实际应用中通常会涉及三个关键组件:软设备(softdevice)、 BootLoader 和 Application 相关的程序包配置。这些组件的位置和配置方式可能会随开发需求发生变化:
软设备相关程序包位于s132_nrf52_2.0.1/s文件夹内;
BootLoader相关程序包位于nRF开发工具包下examples目录中的dfu/bootloader子目录中;
Application相关程序包则放置于nRF SDK下的examples/ble_peripheral目录下。
这种灵活的变化能够帮助我们更好地满足不同的开发需求

成功烧录之后就可以打开app搜索了,蓝牙4.0不需要配对

这里写图片描述

采用keil进行故障排查
在测试固件对应的keil工程文件中执行相关操作

这里写图片描述

敲黑板:在实际开发过程中,先不用BootLoader,也可以正常工作。

主要目的是完成 OTA 功能的实现。
然而,在重新启动程序时都需要重新加载 BootLoader,
这显得有些繁琐。
一旦测试通过,
只需添加一次 BootLoader 即可完成任务。

全部评论 (0)

还没有任何评论哟~