本帖最后由 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.cBLE应用程序框架。 3.9.2 app_sec.c应用安全接口程序。 3.9.3 app_sec_task.c应用安全方法实现。 3.9.4 app_task.cBLE应用程序方法实现。 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
|