l 工程实现了一个基本的 BLE 外设设备, 包括 GATT 和 GATT 服务。这个工程可以用作一个开各种外设角色应用的固件。 2.5.3.2.3 编译和下载因为工作空间分成了两个工程(应用和栈),因此编译和下载有固定的顺序: 1. 选择应用工程作为激活工程使用 Project->Build ALL 编译工程; 2. 选择栈工程作为激活工程,使用 Project->Build ALL 编译工程; 3. 选择栈工程作为激活工程,使用 Run->Debug 下载栈工程; 4. 选择应用工程作为激活工程,使用 Run->Debug 下载应用工程。注意: 以上操作只限于初次下载和栈工程有修改的时候。只要栈没有修改, 则只需执行下面的步骤: 1. 编译应用 2. 下载应用 2.6 访问预处理符号贯穿整个文档,所有的 C 的预处理符号可能需要修改或者是调整工程的等级。访问预处理符号的流程是基于使用的 IDE 的。下面的流程展示了如何访问和修改预处理符号(IAR 的方法不讨论)。 S 中, 预处理符号可以通过选择和打开各自的工程 properties ( 比如, 应用或栈工程), S Build ?? piler ?? Advanced Options ?? Predefined Symbols 的顺序找到预处理符号。然后添加,删除或编辑一个预处理符号,如下图所示: 2.7 顶层软件架构在顶层, cc2640 BLE 软件环境由三个独立的部分组成: 一个实时操作系统( RTOS ), 一个应用镜像和一个栈镜像。 TI-ROTS 是一个实时的、抢占式的、多线程的操作系统采用同步任务的方式运行软件解决方案。应用和协议栈都有独立的任务运行在 RTOS 中, BLE 协议栈的任务拥有最高的优先权。一个管理固件,指示调用( Ic all ),用来在应用和协议栈之间进行安全线程的同步。架构图如下: