这里会显示出您选择的修订版和当前版本之间的差别。
cc2640r2f:development_with_iar [2017/08/31 16:30] 127.0.0.1 外部编辑 |
cc2640r2f:development_with_iar [2021/06/22 23:14] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | # 使用IAR开发 # | ||
- | ## 安装IAR ## | ||
- | IAR工具链包含的许多功能不在本文档的讨论范围之内。更多信息和文档可以在[IAR.com](www.iar.com)找到。 | ||
- | |||
- | 查看BLE5-Stack 1.00.00的发行说明,弄清楚需要使用的IAR版本和一些要求的工作环境。与CCS生成的目标代码相比,IAR生成的目标代码的大小和性能可能不同。 | ||
- | |||
- | 关于如何下载安装IAR,搭建开发环境在[CC2640R2 BLE5.0 开发环境搭建](http:// | ||
- | |||
- | 我们建议在编译过程中显示所有编译输出消息以便获得完整的详细信息。在IAR的**Tools-> | ||
- | ![图1. 在IAR中显示所有编译消息](http:// | ||
- | |||
- | ## 打开IAR项目 ## | ||
- | > | ||
- | |||
- | 本节以`simple_peripheral`工程为例介绍如何打开和编译现有项目。开发套件中包含的所有BLE5-Stack例程项目都具有相似的结构。 | ||
- | |||
- | 1. 首先打开IAR。 | ||
- | 2. 打开一个IAR工作区工程:**File-> | ||
- | * 对于`simple_peripheral`示例,请选择`< | ||
- | |||
- | ![图2. IAR工作区窗格](http:// | ||
- | |||
- | 该工作区的文件用的是`simple_peripheral`工程。在选择后,与工作区相关联的文件在屏幕左侧的“工作区”窗格中可见。参见图17。 | ||
- | |||
- | 通过单击工作区窗格底部相应的工程选项卡来激活任一工程。在图17中,如果选择了Overview选项卡。此选项卡会同时显示两个工程的文件结构。在这种情况下,请使用工作区窗格顶部的下拉菜单来选择激活相应的工程。这里的每个工程都会生成一个单独的可下载对象。`simple_peripheral`项目实现了一个基本的低功耗蓝牙外围设备,包括有GATT服务的GATT服务器。该项目可用作开发外围相关应用程序的框架。 | ||
- | |||
- | ## BLE5-Stack IAR工程编译配置 ## | ||
- | 该工程以及所有的BLE5-Stack工程在工作区都包含了不同的工程以及编译配置,如表7所示。`*_StackLibrary`编译配置会将协议栈编译为库的形式供应用程序调用,如[软件架构](http:// | ||
- | 表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-> | ||
- | 2. 编译应用程序工程。 | ||
- | * 选中应用程序工程。 | ||
- | * 选择**Project-> | ||
- | 3. 下载整个应用程序 | ||
- | * 下载并调试:选择**Project-> | ||
- | * 只下载,无需调试:选择**Project-> | ||
- | |||
- | > | ||
- | |||
- | 对于协议栈和应用程序是镜像分离(而不是库)的工程: | ||
- | 1. 编译协议栈工程。 | ||
- | * 选中协议栈工程, | ||
- | * 选择**Project-> | ||
- | 2. 编译应用程序工程。 | ||
- | * 选中应用程序工程。 | ||
- | * 选择**Project-> | ||
- | 3. 下载协议栈工程。 | ||
- | * 选择**Project-> | ||
- | 4. 下载应用程序工程。 | ||
- | * 下载并调试:选择**Project-> | ||
- | * 只下载,无需调试:选择**Project-> | ||
- | > | ||
- | > | ||
- | > | ||
- | |||
- | > | ||
- | |||
- | 要实现空中下载(OAD)固件更新功能的示例应用程序需要编译**Boot Image Manager** (BIM)项目。有关更多的详细信息,请参阅[OAD](http:// | ||
- | |||
- | ## 访问预处理器符号 ## | ||
- | 对于不同的工程级别各种C预处理器符号可能需要设置或调整。以下过程描述了如何访问或修改预处理器符号。 | ||
- | |||
- | 1. 打开**Project-> | ||
- | 2. 打开**Preprocessor**选项卡。 | ||
- | 3. 查看**Defined symbols**框(见图18)。 | ||
- | 4. 可在这里添加或编辑预处理符号。 | ||
- | ![图3. IAR定义的符号框](http:// | ||
- | |||
- | ## 访问链接器符号 ## | ||
- | 链接器符号可能需要在项目级别进行设置或调整,以便控制生成的镜像的内存布局。以下过程描述了如何访问和修改链接器符号。 | ||
- | |||
- | 1. 打开**Project-> | ||
- | 2. 打开**Config**选项卡。 | ||
- | 3. 查看**Configuration File symbol definitions**框(参见图19)。 | ||
- | 4. 可在这里添加或编辑预处理符号。 | ||
- | ![图4. IAR定义的符号框](http:// | ||
- | |||
- | ## 在IAR中复位CC2640R2F ## | ||
- | 在debug界面下,从**Reset (back arrow) Debug**下拉框中选择**Board Reset**选项,进行复位。 | ||
- | ![图5. IAR板复位](http:// | ||
- | |||
- | ## 加入我们 ## | ||
- | 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | ||
- | <div> | ||
- | <p align=" | ||
- | <a target=" | ||
- | © Copyright 2017, 成都乐控畅联科技有限公司. | ||
- | </p> | ||
- | </ | ||
- | </ | ||