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

开源可编程手环学习第八步--SDK教程

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

术语和定义

SDK          软件开发工具包(SoftwareDevelopment Kit)

GPIO          通用输入输出(GeneralPurpose Input/Output)

INT            中断(Interrupt)

ADC           模数转换(Analogto Digital Converter)

I2C            集成电路通信总线(Inter-IntegratedCircuit bus)

SPI            串行外设接口(SerialPeripheral Interface)

UART          通用异步收发器(UniversalAsynchronous Receiver/Transmitter)

Makefile        定义了一些编译规则的文件

BLE          低功耗蓝牙4.0(Bluetooth Low Energy)

RW          DA14580蓝牙协议栈依托的系统(RivieraWaves)


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

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

淘宝小店:shop115904315.taobao.com



一、官方SDK下载


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

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

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

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


二、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

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



三、官方SDK裸机例程结构讲解



         我们先了解一下官方SDK裸机例程的结构,打开裸机例程DA14580_peripheral_setup.uvproj,该文件位于目录:..\WT开发板\DBoard_BLE\peripheral_examples。打开Keil工程后会有4个文件夹,分别是Startup Files、Source Files、Include Files、Misc。下面来一一介绍这个四个文件夹以及对应文件夹下的文件。



3.1 Startup Files文件夹

该文件夹下有两个文件startup_CMSDK_CM0.s与system_CMSDK.c。

3.1.1 startup_CMSDK_CM0.s文件

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

3.1.2 system_CMSDK.c文件

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

3.2 Source Files文件夹

该文件夹包含所有的C源码文件。

3.2.1 peripherals.c文件

外围配置文件,主要是基本的时钟、看门狗、外围电源、GPIO口以及串口的配置。

3.2.2 i2c_eeprom.c文件

I2c模块相关源文件,封装了许多I2C的相关方法,比如初始化配置函数、读取数据函数、写数据函数等。

3.2.3 spi.c文件

SPI模块相关源文件,封装了许多SPI的相关方法,比如初始化配置函数、读取数据函数、写数据函数等。

3.2.4 spi_flash.c文件

SPI接口flash的相关文件,该文件中通过调用spi.c文件中封装的方法来实现spi接口的flash读写等操作函数。

3.2.5 adc.c文件

ADC模块相关的源文件,封装了ADC的相关方法,有初始化配置函数、通道选择函数以及获取转换结果的函数方法。

3.2.6 eeprom_test.c文件

I2C模块的应用文件,该文件中通过调用i2c_eeprom.c文件中封装的方法来实现I2C接口的eeprom读写等操作。

3.2.7 gpio.c文件

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

3.2.8 spi_test.c文件

SPI模块的应用文件,通过调用spi_flash.c文件中的方法来进行测试。

3.2.9 uart.c文件

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

3.2.10 battery.c文件

电池电量测试函数,通过调用adc.c文件中方法,对电池引脚进行模数转换。

3.2.11 DA14580_examples.c文件

主函数文件,通过调用其它文件实现的方法来实现某些功能。

3.2.12quad_decoder_test.c文件

正交解码器测试文件。

3.2.13 wkupct_quadec.c文件

唤醒及正交解码相关源文件,封装了唤醒芯片以及正交解码的初始化等一系列函数。

3.2.14 pwm_test.c文件

定时器Timer0与Timer2测试文件。

3.2.15 pwm.c文件

定时器相关源文件,封装了定时器,PWM操作的一些基本函数。

3.2.16per_ex_hard_fault.c文件

硬件错误中断函数。

3.2.17 sw_cursor.c文件

软件游标功能,用于pwm_test.c文件中。

3.3 Include Files文件夹

与Source Files文件夹下源文件对应的头文件,主要是相关宏定义、变量、方法的声明。

3.4 Misc文件夹

里面是文本文件,起说明作用,主要说明例程执行时的一些现象。


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

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

淘宝小店:shop115904315.taobao.com



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

网站地图

Top