可以作为da14580蓝牙学习的入门教程。
DA14580实战教程---
SDK目录结构的介绍

1背景
有不少客户反映Dialog官方提供的SDK里面放的东西多,也比较琐碎,不容易看明白。为此我们觉得有必要编写一 个专门介 绍SDK目录结构的一个教程,方便大家尽快上手。SDK里面有不少文件夹是跟官方DONGLE相关的,对于这些 我们一笔带过。大 家也没必要在这上面花费太多的精力。其实市面上很多其它家的蓝牙调试工具都可以配 合 DA14580DK 使用。
准备知识:
BLE: Bluetooth Low Energy 蓝牙4.0低功耗
GAP: Generic Access Profile 通用存取Profile。跟蓝牙的advertising相关
GTL: Generic Transport Layer 通用传输层。当工作于外部主控模式时,用来传输主控到DA14580的数据
HCI : Host Controller Interface 主控接口。当工作于外部主控模式时,DA14580提供给主控的通讯接口
NVDS: Non-Volatile Data Storage 非易失性数据存储器。在DA14580中用来保存蓝牙地址和一些配置信息
OTP: One Time Programmable (memory) 单次可编程存储器。DA14580的片上存储器,只能烧录一次
SDK: Software Development Kit 软件开发包
SoC: System-on-Chip 单芯片解决方案。MCU和专用功能的外设集成在一起,单个芯片能完成特定功能
SPotA: Software Patching over the Air 固件空中升级
SW: Software 软件
Figure 2 非主控工作模式
说明:蓝牙协议栈和用户程序都在DA14580上运行。
Figure2主控工作模式 说明:蓝牙协议栈在DA14580上运行,用户程序在外部MCU上运行。外部MCU和DA14580通过HCI接口进行通 讯,一般是通过串口。 开发者可以在MDK的源代码中的宏定义设定DA14580的工作模式。具体如何设定后面教程会提到。
2SDK的介介介绍绍绍
DA14580 SDK由片上外设的驱动源代码、蓝牙协议栈目标文件、BLE profile源代码、用于评估测试 DA14580的PC上位机源代码组成。SDK下总共有5个文件夹,放得比较散乱,这里我们以SDK3.0.4.0为 例详细说明一下。
Figure3SDK根目录 下面我们分别介绍每个文件夹里面存放的内容 。
binaries: Figure4binaries 文件夹
这个文件夹里面放的是已经编译好的文件。文件有两个文件夹。 da14580文件夹: 里面放的是用来进行产品测试的 DA14580的固件。对应的PC机的exe文件放在windows文件夹下的 prod_test_cmds文件夹里面。这里稍微提一下产品测试,测试的大概方法就是 PC机通过串口线连接到 待测DA14580目标板的串口上,待测DA14580目标板烧录prod_test固件,然后PC机运行prod_test_cmds 下的exe,在命令行下面发测试命令。具体可以参考<UM-B-008, DA14580 Production test tool>这个文档。 host文件夹: 里面放的是host_apps文件下VC工程编译好的exe文件。
Figure5dk_apps 文件夹
dk_apps文件夹: dk_apps文件夹下的内容才是我们的重点。官方提供的DEMO程序的项目工程都放在keil_projects 文件夹里面。 prod_test:就是我们前面说的用来进行产品测试的固件源代码。 proximity:monitor_fe、monitor_fe_usb、reporter_fe、reporter_fe_spi、repoeter_fe_usb 这几个 工程都是主控模式的防丢器DEMO;report_f h是非主控的防丢器DEMO。report_fh是常用的,其它几个可以不用 理会。 讯联电子提供的防丢器测试程序就是基于这个修改而来的。这里提下_fh是Fully_Embedded的缩 写,带这个字眼的工程 DA14580是在主控模式下运行; _fh是Fully_Hosted的缩写,带这个字眼的工程 DA14580运行在非主控模式下。 template:这个是官方提供的一个工程模版。以后我们的应用都可以在这个模版的基础上修改。 throughput_eval:这个是一个评估数据吞吐率的源代码。 patch_code:里面放的是分散加载文件
Figure6host_apps 文件夹
host_apps 文件夹: 如前面所描述,da14580文件夹下面存放的是产品测试固件的源代码;windows文件夹下面放的是基于PC机 运行的防丢器和空中升级源代码。这个不是我们关心的重点,有兴趣的用户可以自己仔细研究一下。
Figure7peripheral_examples文件夹
peripheral_examples文件夹: 这里面放的是片上外设的驱动代码。我们关心的地方在 src文件夹。
Figure8tools文件夹
tools文件夹: 这里面有三个文件夹。 flash_programmer文件夹:放的是烧录flash的MDK源代码。当我们把我们编译好的应用程序烧录到SPI flash里面 的时候会用到。 prod_test文件夹:放的是我们前面说的binaries/da14580文件夹下的产品测试HEX pro_test的源代码。 secondary_bootloader:bootloader的源代码,用户假如用到bootloader的话可以修改这个项目工程。
到此,整个SDK的文档结构已经介绍完了。提醒大家注意一点,由于 SDK里面 有不少源码是配合官方适配器或者PC机使用的,这部分我们可以少花点时间去关 注。我们的重点要放在dk_apps文件夹。更详尽的介绍SDK的文档,请参考官方
完整的pdf格式文档51黑下载地址:
【原创】讯联电子DA14580实战教程---DA14580 SDK介绍.pdf
(3.66 MB, 下载次数: 64)
|