微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 开源可编程手环学习第十一步--官方SDK教程

开源可编程手环学习第十一步--官方SDK教程

时间:10-02 整理:3721RD 点击:

一、官方SDK下载


      进入官方社区(support.dialog-semiconductor.com/forum),在右边点击Create new account进行注册,如下图所示:


      按要求填写内容即可,邮箱重要,因为会通过邮箱激活,有可能时间比较长。

      如果注册成功,使用账户登录后,就可以看到“Software”选项,点击进入,如下图所示:

      进入新的页面,点击Software development kit download选项,然后看到SDK等相关文件,点击下载即可,如下图所示:


开发板系列教程:http://pan.baidu.com/s/1bnBJsMr
手环DIY开源学习教程:http://pan.baidu.com/s/1eQlUGiI

阅读软件:http://pan.baidu.com/s/1o6ELGCE


二、SDK结构讲解


2.1 根目录

根目录下包含5个文件夹,分别为:binaries、dk_apps、host_apps、peripheral_examples、tools。如下图所示:


2.2 binaries

该目录下主要是DA14580的产品测试固件,以及上位机软件。如下图所示:

2.3 dk_apps

该目录比较重要,相关的源代码都放在该目录下,如下图所示:

下面对经常使用的目录keil_projects、misc、src进行详细的介绍。

2.3.1 keil_projects

该目录包含协议栈例程代码文件,如下图所示:


2.3.2 misc

该目录中包含一些txt配置文件,如下图所示:

2.3.3 src

该目录下存放了协议栈及外围模块相关的源代码,如下图所示:




2.4 host_apps

该目录中包含上位机源码,如下图所示:

2.5 peripheral_examples

该目录中包含DA14580的裸机外围模块测试程序,如下图所示:


2.6 tools

该目录下包含测试、烧录的一些工具的源码等,如下图所示:



三、官方BLE例程结构讲解


        我们先了解一下官方BLE例程的结构,打开BLE例程fh_project_template.uvproj,该文件位于目录DA1458x_SDK_3.0.6\dk_apps\keil_projects\template\template_fh下。打开Keil工程后会有9个文件分组,分别是boot、arch、driver、ke、host、nvds、rwble、profiles、app。下面来一一介绍这个9个文件分组以及对应分组下的文件。

3.1 boot分组

该分组下有3个文件system_ARMCMO.c、boot_vector.s与hardfault_handler.c。

3.1.1 system_ARMCMO.c文件

该文件是DA进行关于Contex_M0时钟与系统初始化的C文件,无需更改。

3.1.2 boot_vector.s文件

该文件是DA14580启动时最先调用的文件,对DA的中断、内存等进行初始化,是用汇编编写的文件,一般不需要更改。

3.1.3 hardfault_handler.c文件

硬件错误处理文件,当发生硬件错误时会产生硬件中断。

3.2 arch分组

该文件夹包含硬件体系结构相关源码文件,主函数文件也在其中。

3.2.1 arch_main.c文件

主函数文件。

3.2.2 jump_table.c文件

定义了常用的sysRAM/ROM代码结构。

3.2.3 arch_sleep.c文件

芯片休眠相关文件,里面定义了休眠相关的应用程序接口。

3.2.4 nmi_handler.c文件

不可屏蔽中断文件,定义了不可屏蔽中断函数,主要是看门狗复位会进入该中断函数。

3.2.5 periph_setup.c文件

外围电路初始化文件,对外围模块进行初始化以及分配GPIO引脚。

3.2.6 arch_system.c文件

系统相关配置文件。

3.3 driver分组3.3.1 rf_580.c文件

关于DA14580无线模块的相关配置。

3.3.2 gpio.c文件

GPIO口相关的源文件,封装了对GPIO口的初始化、功能配置、输入、输出等功能,也定义了GPIO的中断函数以及中断配置。

3.3.3 uart2.c文件

UART模块相关源文件,封装了许多UART的相关方法,比如初始化配置函数、接收数据函数、发送数据函数等。

3.4 ke分组

里面包含了协议栈库文件,是.obj库文件,提供了API(.h头文件),不能看到源代码。

3.5 host分组

里面包含了通用接口配置层的库文件。

3.6 nvds分组

里面包含了协议栈相关的常量数据信息。

3.7 rwble分组3.7.1 rwble.c文件

RW系统与BLE之间的配置文件,主要是BLE内核中断服务进程。

3.7.2 rwip.c文件

定义了BLE休眠函数。

3.8 profiles分组

协议栈用到的服务配置文件。

3.9 app分组

应用层及用户定义的文件。

3.9.1 app.c

BLE应用程序框架。

3.9.2 app_sec.c

应用安全接口程序。

3.9.3 app_sec_task.c

应用安全方法实现。

3.9.4 app_task.c

BLE应用程序方法实现。

3.9.5 app_template_proj.c

应用程序特定函数,包括创建profile的数据库,广播/扫描,MTU处理方法,再次连接处理方法等。


开发板系列教程:http://pan.baidu.com/s/1bnBJsMr
手环DIY开源学习教程:http://pan.baidu.com/s/1eQlUGiI

阅读软件:http://pan.baidu.com/s/1o6ELGCE


感谢分享

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top