用户工具

站点工具


侧边栏

CC2640R2&BLE5.0开发

关于我们

入门开始

视频教程

外设驱动

开发BLE应用

工具集

其他

cc2640r2f:development_with_iar

这是本文档旧的修订版!


使用IAR开发

安装IAR

IAR工具链包含的许多功能不在本文档的讨论范围之内。更多信息和文档可以在IAR.com找到。

查看BLE5-Stack 1.00.00的发行说明,弄清楚需要使用的IAR版本和一些要求的工作环境。与CCS生成的目标代码相比,IAR生成的目标代码的大小和性能可能不同。

关于如何下载安装IAR,搭建开发环境在CC2640R2 BLE5.0 开发环境搭建中有详细描述,这里不再赘述。

我们建议在编译过程中显示所有编译输出消息以便获得完整的详细信息。在IAR的Tools->Options中将Show Build Messages设置为All来设置此功能(请参见图1)
图1. 在IAR中显示所有编译消息

打开IAR项目

注意:TI-RTOS驱动程序和内核示例文件是导入到IAR中的,而不是作为预配置的IAR工作区文件提供的。有关如何创建这些项目的说明,请参见:Creating TI-RTOS (driver/kernel) Applications in IAR Embedded Workbench

本节以simple_peripheral工程为例介绍如何打开和编译现有项目。开发套件中包含的所有BLE5-Stack例程项目都具有相似的结构。

  1. 首先打开IAR。
  2. 打开一个IAR工作区工程:File->Open->Workspace...
    • 对于simple_peripheral示例,请选择<SDK_INSTALL_DIR>\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral \tirtos\iar\ble5_simple_peripheral.eww是低功耗蓝牙SDK的存放路径)

图2. IAR工作区窗格

该工作区的文件用的是simple_peripheral工程。在选择后,与工作区相关联的文件在屏幕左侧的“工作区”窗格中可见。参见图17。

通过单击工作区窗格底部相应的工程选项卡来激活任一工程。在图17中,如果选择了Overview选项卡。此选项卡会同时显示两个工程的文件结构。在这种情况下,请使用工作区窗格顶部的下拉菜单来选择激活相应的工程。这里的每个工程都会生成一个单独的可下载对象。simple_peripheral项目实现了一个基本的低功耗蓝牙外围设备,包括有GATT服务的GATT服务器。该项目可用作开发外围相关应用程序的框架。

BLE5-Stack IAR工程编译配置

该工程以及所有的BLE5-Stack工程在工作区都包含了不同的工程以及编译配置,如表7所示。*_StackLibrary编译配置会将协议栈编译为库的形式供应用程序调用,如软件架构中的协议栈编译成库文件配置所述。由于协议栈工程与我们的应用程序工程是分开的,为了使这两个工程编译后能够在一起正常的工作,连个工程的编译配置需要对应好,具体的编译配置对应关系如表7所示。
表7.可用的IAR编译配置

工程类型 工程的编译配置 兼容的对应工程的编译配置
Application FlashROM Stack-FlashROM
Application FlashROM_StackLibrary Stack-FlashROM_StackLibrary
Application FlashROM_StackLibrary_RCOSC Stack-FlashROM_StackLibrary
Application FlashROM_OAD_ImgB Stack-FlashROM
Application FlashROM_OAD_Offchip Stack-FlashROM
Stack FlashROM_Library Application-FlashROM_Library
Stack FlashROM Application_FlashROM

编译和下载

对于所有编译的配置,协议栈工程必须要在应用程序工程之前进行配置编译。

对于将协议栈编译成库的形式:

  1. 编译协议栈库工程。
    • 选中协议栈工程,在工作区顶部的下拉菜单中选择FlashROM_Library
    • 选择Project->Make编译协议栈。
  2. 编译应用程序工程。
    • 选中应用程序工程。
    • 选择Project->Make编译应用程序。
  3. 下载整个应用程序
    • 下载并调试:选择Project->Download and Debug
    • 只下载,无需调试:选择Project->Download->Download Active Application

注意:以库形式使用协议栈的应用程序工程没有严格的镜像边界了。初始化编译之后,如果协议栈工程未被修改,则以后只需要重新编译下载应用程序工程即可。

对于协议栈和应用程序是镜像分离(而不是库)的工程:

  1. 编译协议栈工程。
    • 选中协议栈工程,在工作区顶部的下拉菜单中选择FlashROM
    • 选择Project->Make来编译协议栈。
  2. 编译应用程序工程。
    • 选中应用程序工程。
    • 选择Project->Make编译应用程序。
  3. 下载协议栈工程。
    • 选择Project->Download->Download Active Application来下载协议栈工程。
  4. 下载应用程序工程。
    • 下载并调试:选择Project->Download and Debug
    • 只下载,无需调试:选择Project->Download->Download Active Application

      注意:协议栈工程定义了在应用程序工程中使用的Flash和RAM的边界参数。对协议栈项目的任何修改都需要重新编译下载协议栈工程,然后再重新编译下载应用程序工程以便使用新的边界设置。请参阅Frontier Tool Operation
      初始编译后,如果协议栈工程未被修改,则只需要重新编译下载应用程序工程。
      当应用程序下载(即Flash编程)之后,您可以选择Project->Debug without Downloading在不重新刷新设备的情况下进行调试。

警告:不要在工程设置中修改CPU变量。所有示例项目都配置了CPU类型,更改此配置(在这里就是CC2640R2F)可能会导致编译错误。

要实现空中下载(OAD)固件更新功能的示例应用程序需要编译Boot Image Manager (BIM)项目。有关更多的详细信息,请参阅OAD部分。

访问预处理器符号

对于不同的工程级别各种C预处理器符号可能需要设置或调整。以下过程描述了如何访问或修改预处理器符号。

  1. 打开Project->Options选择C/C++ Compiler
  2. 打开Preprocessor选项卡。
  3. 查看Defined symbols框(见图18)。
  4. 可在这里添加或编辑预处理符号。
    图3. IAR定义的符号框

访问链接器符号

链接器符号可能需要在项目级别进行设置或调整,以便控制生成的镜像的内存布局。以下过程描述了如何访问和修改链接器符号。

  1. 打开Project->Options并选择Linker类别。
  2. 打开Config选项卡。
  3. 查看Configuration File symbol definitions框(参见图19)。
  4. 可在这里添加或编辑预处理符号。
    图4. IAR定义的符号框

在IAR中复位CC2640R2F

在debug界面下,从Reset (back arrow) Debug下拉框中选择Board Reset选项,进行复位。
图5. IAR板复位

加入我们

文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.

cc2640r2f/development_with_iar.1504321154.txt.gz · 最后更改: 2021/06/22 23:14 (外部编辑)