艾克姆 蓝牙nRF52832上册-学习笔记

  • Post author:
  • Post category:其他




一 、硬件

  • IK-52832DK开发板兼容官方nRF52DK(PCA10040)

  • xxAA: 512K 片内Flash, 64KRAM

  • xxAB: 256k 片内Flash,32KRAM



二、开发设备



硬件设备

1、开发板

2、JLINK 仿真和下载程序

3、JTAG-SWD转换板

4、IK-52Dongle 抓包或主机控制面板配套使用,可以捕获和分析BLE数据包,帮助理解BLE



软件

1、MDK5.23

2、JLINK驱动

3、Master Control Panel 主机控制面板,与Dongle配合使用

4、nRF Sniffer BLE抓包软件,Dongle使用

5、WireShark 抓包和协议分析,与Dongle配合使用

6、nFR Connet 手机端软件,用于扫描,连读,读写设备等

7、nRF ToolBox 手机端APP应用集



三、开发环境搭建

1、NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0.pack ——————— keil的芯片包

2、nRF5_SDK_15.2.0_9412b96.zip ———————SDK

3、ARM.CMSIS.4.5.0.pack———————keil内核支持包

4、nRF Connect————–手机端测试 APP

5、nRF Toolbox————–手机端测试 APP



四、新建和配置裸机工程



1、SDK库介绍

在这里插入图片描述

1、Components组件库

在这里插入图片描述

2、Examples例子

每个例子都包含 多种开发环境和多种芯片的工程



2、新建和配置工程



1、规划目录

在这里插入图片描述


拷贝后的目录


在这里插入图片描述



2、新建立工程

  • 新建工程保存到project目录下

  • 配置 RTE(Run-Time Environment)

    在这里插入图片描述

  • 整理工程目录

    在这里插入图片描述

  • 管理软件包

    在这里插入图片描述

  • 添加文件到工程

    boards.c sdk_config.h 等

    “app_error.c”、“nrf_assert.c”、“app_util_platform.c”、“app_error_handler_keil.c”、“app_error_weak.c”和“nrf_strerror.c” 添加到工程的“nRF_Libraries”组即可



3、配置工程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

One ELF Secion per Function 的机制是将每一个函数作为一个优化的单元,而并非整个

文件作为参与优化的单元。 该机制具有的这种优化功能特别重要,尤其是在对于生成的二进

制文件大小有严格要求的场合。

One ELF Section per Function 对于一个大工程的优化效果尤其突出, 对于小工程优化效

果不是很明显。想象一下这样的一个应用场合:在 nRF52840 程序开发过程中,我们会使用

SDK 中的组件库“components”,我们加入组件库中的一个文件到工程并不表示我们会使用

这个文件中所有的函数,这样,最后生成的二进制文件中就有可能包含众多的冗余函数,造

成了存储空间的浪费, 通过使用 One ELF Section per Function, 即可在最后生成的二进制文

件中将冗余函数排除掉,从而节省存储空间。



五、下载

有 3 种: MDK 直接下载、 J-Flash 下载和使用 nRFgo Studio 下载。


注意:如果用到协议栈,应用程序和协议栈是分开下载的,先下载协议栈的hex文件,再下载应用程序。协议栈是下载到0地址,下载完后会保护起来,所以重新下载时要全片擦除


例如:

1、打开工程

2、切换到下载协议栈的工程

在这里插入图片描述

3、下载协议栈

在这里插入图片描述

4、下载应用程序

在这里插入图片描述

5、协议栈


特别注意: 协议栈是预编译的,是以“HEX”文件格式提供的,无需编译工程,只需执行下载就可以了



九、寄存器类型和外设资源共享

  • nRF51 和 nRF52 的寄存器和一般的单片机有所差别, nRF51 和 nRF52 的寄存器分为下面的四种类型:

    1、任务寄存器 Task

    2、事件寄存器 Event

    3、快捷方式寄存器

    4、通用寄存器



版权声明:本文为liangbin414原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。