BLE开发笔记——简单新建属于自己的协议栈工程

本文主要讲一下新建TI的CC2541协议栈的工程。

前言

通过阅读BLE协议栈的开发手册,能够大体了解到协议栈的组成架构,并对每一层(PHY、LL、HCI、L2CAP、SM、ATT、GATT和GAP)具体是做什么也有了一定认识和理解,接下来通过一定的工程实践慢慢去深入学习,手册中也讲了内部的操作系统抽象层(OSAL),主要实现了轮询任务事件触发机制,是一个较简单的嵌入式系统,所以要做TI的蓝牙开发还要对OSAL的工作原理有一定理解,所有这些可以参考学习TI提供的官方手册。

正文

言归正传,本文主要讲的是利用TI协议栈工程新建属于自己定制的工程。首先说明的是,我讲的这种方式比较粗暴,哈哈。

简单说明工程结构

0

可以看到,一般情况下按照官方例程的工程来说就是上面的一种结构,根目录下有ComponentsProjects两个文件夹,Projects文件夹下又有commonconfigIncludeLibrariesProfilesSimpleBLEPeripheralSimpleBLEPeripheral文件夹下有CC2541DBSource,根据这个结构,我们就可以通过复制粘贴来完成工程的复制新建了。

CC2541DB文件夹下放的就是工程文件,Source文件夹下放的是自己编写的源文件。

新建工程

新建文件夹

自己选择合适的目录,然后在其下建立文件夹,比如TestLED,在TestLED下新建文件夹Projects,再在Projects文件夹下建立ble文件夹。

拷贝文件夹

找到协议栈的安装目录,我的是C:\Texas Instruments\BLE-CC254x-1.4.0,将整个文件夹Components拷贝到TestLED中,然后进入协议栈的Projects下的ble,将commonconfigIncludeLibrariesProfilesSimpleBLEPeripheral六个文件夹放到TestLEDProjectsble目录下,完成后的文件结构如下:

1

可以将SimplePeripheral文件夹修改为自己想要的名字,如TestLED

验证工程

打开SimplePeripheral目录下的工程文件,进入IAR编译测试,一般是可以编译通过的。

工程配置

  • 先清楚配置文件选择的位置,如下:

    2

  • 可以看到默认的配置选择的是CC2541DK-MINI Keyfob,为了保证原配置文件的安全,我们可以新建自己的配置,点击菜单栏Projects->Edit Configurations...,就会跳出以下窗口:

    3

  • 选择New...,可以调出新建配置窗口:

    4

  • 可以填入自己想要的配置名称,比如这里是TestLED,Toolchain当然是选8051,还有就是Based on configuration,这个我们要选择合适的,我选的是CC2541,点击OK完成,就可以看到工程配置就是TestLED了。

简单看一下Options

右击工程SimpleBLEPeripheral,选择options调出配置窗口,选择左边栏General Options下的C/C++ Compiler,然后在右侧选择Preprocessor选项卡,如下:

5

  • 看到Additional include directiories:(one per line),仔细观察每一行都有个$PROJ_DIR$,这代表的是工程文件所在的目录SimpleBLEPeripheral下的CC2541DB,再看就是还有..\,代表的是上一层目录,所以就明白了之前为什么复制那些文件夹到相应目录了吧。

  • 再看Defined symbols:(one per line),在这里编辑相应宏定义可以使用相应的HAL驱动和协议栈功能,比如其中的HAL_LED=FALSE,这就是说明不使用HAL的led灯控制功能,即IO输出。


ble

1553 字

2016-03-21 10:10 +0800