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

一 、硬件

  • 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库介绍

艾克姆 蓝牙nRF52832上册-学习笔记_第1张图片
1、Components组件库
艾克姆 蓝牙nRF52832上册-学习笔记_第2张图片
2、Examples例子
  每个例子都包含 多种开发环境和多种芯片的工程

2、新建和配置工程

1、规划目录

艾克姆 蓝牙nRF52832上册-学习笔记_第3张图片
拷贝后的目录
艾克姆 蓝牙nRF52832上册-学习笔记_第4张图片

2、新建立工程

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

  • 配置 RTE(Run-Time Environment)
    艾克姆 蓝牙nRF52832上册-学习笔记_第5张图片

  • 整理工程目录
    艾克姆 蓝牙nRF52832上册-学习笔记_第6张图片

  • 管理软件包
    艾克姆 蓝牙nRF52832上册-学习笔记_第7张图片

  • 添加文件到工程
    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、配置工程

艾克姆 蓝牙nRF52832上册-学习笔记_第8张图片
艾克姆 蓝牙nRF52832上册-学习笔记_第9张图片
艾克姆 蓝牙nRF52832上册-学习笔记_第10张图片
  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、切换到下载协议栈的工程
艾克姆 蓝牙nRF52832上册-学习笔记_第11张图片
3、下载协议栈
艾克姆 蓝牙nRF52832上册-学习笔记_第12张图片
4、下载应用程序
艾克姆 蓝牙nRF52832上册-学习笔记_第13张图片
5、协议栈

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

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

  • nRF51 和 nRF52 的寄存器和一般的单片机有所差别, nRF51 和 nRF52 的寄存器分为下面的四种类型:
    1、任务寄存器 Task
    2、事件寄存器 Event
    3、快捷方式寄存器
    4、通用寄存器

你可能感兴趣的:(蓝牙)