物联网技术
直播中

kevinrliu

10年用户 129经验值
擅长:嵌入式技术 连接器 处理器/DSP 控制/MCU RF/无线
私信 关注
[经验]

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

本帖最后由 kevinrliu 于 2015-10-29 13:27 编辑

一、官方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.6dk_appskeil_projectstemplatetemplate_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

附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回帖(1)

bashang

2017-5-18 18:48:32
感谢分享
举报

更多回帖

发帖
×
20
完善资料,
赚取积分