CC2640R2&BLE5.0开发
关于我们
入门开始
- 入门
- CC2640R2F 开发平台
-
视频教程
外设驱动
开发BLE应用
- 协议栈
- 无线固件下载(OAD)
- 应用举例
工具集
其他
- 仿真调试
- 移植向导
- Android BLE开发
CC2640R2&BLE5.0开发
关于我们
入门开始
视频教程
外设驱动
开发BLE应用
工具集
其他
CCS 工具链包含的许多功能超出了本文档范围,更多信息和文档可以在 CCS Webpage 上找到。
检查 BLE5-Stack 1.00.00 发行说明,查看需要的 CCS 版本和任何要求的工作环境。与 IAR 生成的目标代码相比,CCS 生成的目标代码的大小和性能可能不同。
下面介绍如何安装和配置 CCS 的正确版本和必要的工具。
注意:所需版本在发行说明中有陈述。
要安装特定的 TI ARM 编译器,请参阅以下步骤和图1。
图1. Code Composer Studio 中的 TI ARM 编译器版本
本节介绍如何导入和编译现有工程并引用 multi_role 工程。开发套件中包含的所有 BLE5-Stack 工程都具有相似的结构。
注意:确保 CCS 工作空间路径不包含空格。
Software -> SimpleLink CC2640R2 SDK -> Examples -> CC2640R2 Launchpad -> ble5stack -> multi_role -> TI-RTOS -> CCS Compiler -> multi_role_app
图2. 导入 CCS 项目
注意:如果本地版本不存在,导入过程也将安装 SimpleLink CC2640R2 SDK 。您必须接受最终用户许可协议才能执行,如图 3 所示。
图3. 安装 SimpleLink CC2640R2 SDK
图4. 导入 CCS 的项目
注意: 不要使用 CCS 中的 Rename 选项来重命名项目。这可能会改变其中某些编译参数,从而导致编译不可逆的错误。要重命名一个工程,你应该使用 CCS 内部的 Copy 和 Paste 选项。当你 Paste 工程时,会有一个选择新的工程名称的选项。这些过程对于应用程序和协议栈栈工程来说都是一样的。粘贴这两个工程后,您需要修改应用程序工程的属性并更新其 Project Reference (在高级设置中)才能选择新粘贴的协议栈工程。
如果 CCS 安装在默认安装目录( c:/ti )下,它会自动发现 SimpleLink CC2640R2 SDK
。一旦被 CCS 发现,它会定义一个名为 COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR
的配置环境变量供 BLE5-Stack 工程使用。
如果是从 SimpleLink CC2640R2 SDK
安装路径之外的指定路径导入 BLE5-Stack 工程,在工程逐个导入之后 COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR
变量必须重新定义。
重新定义此变量:
COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR
,并将其指向您导入的根目录位置。图5. 重新定义 COM_TI_SIMPLELINK_CC2640R2_SDK_INSTALL_DIR
所有 BLE5-Stack 工程工作区都包含了如表 1 所示的各种工程和编译配置。*_StackLibrary
编译配置将协议栈编译成库的形式供应用程序调用,如 软件架构中的协议栈编译成库文件配置中所述一样。
表1. 可用的CCS项目构建配置
工程类型 | 工程命名约定 | 工程的编译配置 | 兼容的对应工程的编译配置 |
---|---|---|---|
Application | *_cc2640r2lp_app |
FlashROM | *_CC2640R2lp_stack |
Application | *_cc2640r2lp_app |
FlashROM_StackLibrary | *_cc2640r2lp_stack_library |
Application | *_cc2640r2lp_app |
FlashROM_StackLibrary_RCOSC | *_cc2640r2lp_stack_library |
Application | *_cc2640r2lp_app_oad_onchip |
FlashROM_OAD_ImgB | *_cc2640r2lp_stack 搭配 FlashROM配置 |
Application | *_cc2640r2lp_app_oad_offchip |
FlashROM_OAD_Offchip | *_cc2640r2lp_stack 搭配 FlashROM配置 |
Stack | *_cc2640r2lp_stack_library |
FlashROM_Library | *_cc2640r2lp_app 搭配FlashROM_StackLibrary配置 |
Stack | *_cc2640r2lp_stack |
FlashROM | *_CC2640r2lp_app 搭配FlashROM配置 |
单击文件资源管理器中的工程名称,选择一个工程作为激活的工程。在图 6 中,应用程序被选为激活工程。
图6. CCS Project Explorer
这些工程中的每一个都生成一个单独的可下载的镜像。
simple_peripheral
示例工程是本文档中作为通用应用程序主要描述的示例应用程序。
simple_peripheral
工程实现了一个基本的低能耗蓝牙外围设备,包括有 GATT 服务的 GATT 服务器。该工程可用作开发外围相关应用程序的框架。
对于所有编译配置,协议栈工程应始终在应用程序工程之前编译。
对于把协议栈编译成库的工程:
注意:以库形式使用协议栈的应用程序项目没有严格的镜像边界。初始化编译之后,如果协议栈工程未被修改,只需要重新编译下载应用程序工程。
对于协议栈和应用程序作为两个镜像文件(而不是库)的工程:
注意:协议栈工程定义了在应用程序工程中使用的 Flash 和 RAM 的边界参数。对协议栈工程的任何修改都需要重新编译下载协议栈工程,然后再重新编译下载应用程序工程以便使用新的边界设置。了解更多详细信息可以在存储架构中的边界工具操作中查看。
初始编译后,如果协议栈工程未被修改,则只需要重新编译下载应用程序工程。警告:不要在工程配置中修改 CPU 变量。所有示例工程都配置了 CPU 类型,更改此配置(在这里就是 CC2640R2F )可能会导致编译错误。
要实现空中下载( OAD )固件更新功能的示例应用程序需要编译 Boot Image Manager ( BIM )项目。有关详细信息,请参阅 OAD 部分。
在工程级别中 C 预处理器符号可能需要设置或调整。以下过程描述了如何访问或修改预处理器符号。
图7. CCS 预定义符号
为了控制生成的镜像文件的内存布局,链接器符号可能需要在项目级别中进行设置或调整。以下过程描述了如何访问和修改链接器符号。
图8. CCS 链接器符号
在复位菜单中选择 Board Reset 来进行板级复位
图9. CCS 板级复位
有关 Code Composer Studio 的其他培训和技术支持,请参阅: Code Composer Studio Wiki Code Composer Studio Training
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。